Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Teoria] Oddzielene reprezentacji &obiekt od *obiekt

Ostatnio zmodyfikowano 2012-01-10 12:42
Autor Wiadomość
jsc
Temat założony przez niniejszego użytkownika
[Teoria] Oddzielene reprezentacji &obiekt od *obiekt
» 2012-01-09 23:52:28
Ze względów bezpieczeństwa warto odseparować operację zmiany adresu od operacji na zawartości. Niestety proste metody dostępu do wskaźnika (&typ i *typ) można w ferworze radosnej twórczości można pomylić.

Mam takie pytanie czy istnieje możliwość utworzenia typów, które separują je od siebie (a tych prostych na mocy małego triku na preprocesorze można przekształcić na jakąś bzdurę i tak je uniemożliwić)?
P-47799
malan
» 2012-01-10 12:24:37
Czy ktoś zruzoumiał o co chodzi koledze?
Przekazywanie przez wartość:
C/C++
int function1( int a )
{
    //...
}
Przekazywanie przez referencję:
C/C++
int function2( int & a )
{
    //...
}
Przekazywanie przez wskaźnik:
C/C++
int function3( int * a )
{
    //...
}
Co Ty chcesz tutaj oddzielać?
P-47817
jsc
Temat założony przez niniejszego użytkownika
» 2012-01-10 12:37:05
Chce oddzielić:

C/C++
kontener < typ >::iterator wskaznik;

for( wskaznik = nazwa.begin(); wskaznik < nazwa.end(); ++wskaznik )
{
    * wskaznik + 1; //Czasem tego * można zapomnieć, gdybyś miał zamiast *typ jest var i adr  //zamiast &typ albo typ, który jest równoważny &typ, byłbyś bardziej uważny.
}

Proponuję żeby to wyglądało to tak:
C/C++
kontener < typ >::iterator wskaznik;

for( adr wskaznik = nazwa.begin(); adr wskaznik < nazwa.end(); adr wskaznik + 1 )
{
    var wskaznik + 1; //Czasem tego * można zapomnieć, gdybyś miał zamiast *typ jest var i adr  //zamiast &typ albo typ, który jest równoważny &typ, byłbyś bardziej uważny.
}
P-47819
malan
» 2012-01-10 12:40:28
Czy na pewno iterator jest wskaźnikiem?
P-47820
jsc
Temat założony przez niniejszego użytkownika
» 2012-01-10 12:42:44
A dlaczego nie, skoro to jest okienko do odwiedzania elementów kontenera?
P-47821
« 1 »
  Strona 1 z 1