A++ ??

0

Czy jest możłiwość zwiększania liter. EEE. Chodzi mi o coś takiego:
1++ = 2;
A++ = B;

Czy można jakby z a zrobić b :) ??

0

moze znak = (((int)znak)++)

0

wszystkie zmienne typu char to tak naprawde liczby całkowite z przedziału 0-255 , przechowują one wartości odpowiadające znakom ASCII , czyli jak masz coś takiego :
char znak='A';
to tak na serio pod zmienną znak jest liczba całkowita : 65 . Skoro jest to liczba całkowita to spokojnie można ją inkrementować , czyli jak napiszemy coś takiego :
znak++;
to teraz pod zmienną znak będzie sie kryła liczba 66 , która w kodzie ASCII odpowiada znakowi : B . czyli po wykonaniu instrukcji :
cout

0

a dlaczego uzywac rzutowania funkcji ? to moim zdaniem bez sensu; [cygaro]

0

C/C++ ma to do siebie że wszelie operacje są praktycznie mozliwe. Sam dojdziesz do tego. Ale gdy zmiennej nie dasz nazwy, tzn. nie dasz jej konkretnego miejsca w pamięci to jest traktowana jak stała. I gdyby było to możliwe, to przy każdym odwołaniu compilator musiałby stworzyć nową zmienną do której miałbys dostęp tylko w tym własnie odwołaniu...

main{

  ((char)('a'))++;  // to nie przejdzie
  char i='A';     // 65- obojętne
  i++;          // a to owszem

}

... Compilator wywali: Lvalue required (The left side of an assignment operator must be an addressable expression) ... Musisz przydzielić adres (nazwę), a potem możesz z tym robić co chcesz. A ten error, to po prostu zabezpieczenie, przed operacjami na pamięci, które są bez sensu, bo i tak wynik zaraz zostanie stracony.

A co do samego typu char- jesli chodzi o wykorzystanie, sprawdź w opcjach kompilatora, jakie masz defaultowe ustawienia: signed/unsigned, bo to też rzutuje na odwołania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1