Re[5]: Инициализация массива строк
От: Аноним  
Дата: 11.03.09 21:51
Оценка:
MS>Вовсе не факт, что компилятор совместит две одинаковые строковые литеры.
MS>Зависит от его возможностей и ключей.
даже если не совместит (если насильно выключить strings pooling) можно будет нарваться на другую совсем неочевидную ситуевину:
void foo()
{
char *s = "aaa";
printf("s=%s\n", s)
s[2] = b;
printf("s=%s\n", s)
}
...
foo();
foo();


Догадайтесь что получим в stdout выхлопе, даже если компилятор не сделает strings pooling и не разместит их в RO памяти.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.