Здравствуйте, Павел Кузнецов, Вы писали:
ПК>L'ab'; // wchar_t
Опять!
A>А кто сказал что у "text" есть тип? Это у переменной есть тип. Это у "text" d контексте использования есть тип, а без контекста и типа нет.
Гм... Мы ведь только что обсуждали мою статью

. Там написано про тип строковых литералов.
Здравствуйте, Павел Кузнецов, Вы писали:
K>>char sz[] = "TEXT";
K>>непосредственный адрес строки выделенной в рантайме на стеке и скопированный из отсека RO. Самый медленный, но в такой буфер можно писать.
ПК>Формально это эквивалентно const char sz[] = "TEXT" за исключением того, что содержимое массива можно модифицировать. Однако, действительно, практически отсутствие const означает то, что компилятор вынужден копировать содержимое литерала в массив и не будет использовать одну и ту же память для литерала и массива sz.
Но даже в этом случае, если компилятор сможет установить, что фактически запись в массив sz не выполняется (т. е. массив используется в "режиме" константного), он опять-таки имеет право исключить такое копирование.
Да здравствует ИМХО!
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>ПК>'ab'; // char
ПК>
'ab' — это int :)
Здравствуйте, jazzer, Вы писали:
J>Здравствуйте, Павел Кузнецов, Вы писали:
ПК>>ПК>>'ab'; // char
ПК>>
J>'ab' — это int
скорее short
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, INsideR, Вы писали:
INR>Есть следующий код:
INR>char* s = "Test";
INR>s[2] = 'b';
INR>У Страуструпа сказано, что это не верно, потому что char * указывает на строку с константными символами, надо писать так:
INR>char a[] = "Test";
INR>У меня в программе есть пару мест с char*, надо ли их переделывать?
Переделывать нужно обязательно и как можно быстрее, а то Страуструп увидит и обидится
Здравствуйте, yxiie, Вы писали:
Y>Здравствуйте, jazzer, Вы писали:
J>>Здравствуйте, Павел Кузнецов, Вы писали:
ПК>>>ПК>>>'ab'; // char
ПК>>>
J>>'ab' — это int :)
Y>скорее short
2.13.2/1
An ordinary character literal that contains more than one c-char is a multicharacter literal. A multicharacter literal has type int and implementation-defined value.
Сразу отмечу, что это правило не распространяется на L'xxx' — это всегда wchar_t.