Re[11]: char* или char[]
От: adontz Грузия http://adontz.wordpress.com/
Дата: 03.01.04 21:03
Оценка: :)
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>L'ab'; // wchar_t


Опять!
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[10]: char* или char[]
От: Vamp Россия  
Дата: 04.01.04 10:35
Оценка:
A>А кто сказал что у "text" есть тип? Это у переменной есть тип. Это у "text" d контексте использования есть тип, а без контекста и типа нет.
Гм... Мы ведь только что обсуждали мою статью . Там написано про тип строковых литералов.
Да здравствует мыло душистое и веревка пушистая.
Re[9]: char* или char[]
От: achp  
Дата: 05.01.04 07:25
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

K>>char sz[] = "TEXT";

K>>непосредственный адрес строки выделенной в рантайме на стеке и скопированный из отсека RO. Самый медленный, но в такой буфер можно писать.

ПК>Формально это эквивалентно const char sz[] = "TEXT" за исключением того, что содержимое массива можно модифицировать. Однако, действительно, практически отсутствие const означает то, что компилятор вынужден копировать содержимое литерала в массив и не будет использовать одну и ту же память для литерала и массива sz.


Но даже в этом случае, если компилятор сможет установить, что фактически запись в массив sz не выполняется (т. е. массив используется в "режиме" константного), он опять-таки имеет право исключить такое копирование.
Да здравствует ИМХО!
Re[11]: char* или char[]
От: jazzer Россия Skype: enerjazzer
Дата: 21.10.04 07:20
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>
ПК>'ab';      // char
ПК>

'ab' — это int :)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[12]: char* или char[]
От: yxiie Украина www.enkord.com
Дата: 21.10.04 13:00
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, Павел Кузнецов, Вы писали:


ПК>>
ПК>>'ab';      // char
ПК>>

J>'ab' — это int

скорее short
... << RSDN@Home 1.1.3 stable >>
Re: char* или char[]
От: Аноним  
Дата: 21.10.04 13:43
Оценка: :)
Здравствуйте, INsideR, Вы писали:

INR>Есть следующий код:


INR>char* s = "Test";

INR>s[2] = 'b';

INR>У Страуструпа сказано, что это не верно, потому что char * указывает на строку с константными символами, надо писать так:

INR>char a[] = "Test";

INR>У меня в программе есть пару мест с char*, надо ли их переделывать?


Переделывать нужно обязательно и как можно быстрее, а то Страуструп увидит и обидится
Re[13]: char* или char[]
От: jazzer Россия Skype: enerjazzer
Дата: 21.10.04 14:24
Оценка:
Здравствуйте, 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.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.