Microsoft (R) Incremental Linker Version 8.00.50727.42
От: np9mi7 Россия  
Дата: 06.10.06 07:12
Оценка: -1
Добрый день!

Как Вы считаете, чем закончиться выполнение такой программы?

#include <cassert>

const wchar_t * const String1 (L"Test String!");

const wchar_t * const String2 (L"Test String!");

int main ()
{
    assert ((String1 != String2) && "c++ changed today");
    
    return 0;
}


И самое главное, где это отключить?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
"В любое мгновение принятия решения, лучшее, что вы можете сделать, это принять правильное решение; следующим лучшим вариантом будет принять неправильное решение, худший вариант – не принимать решения совсем" (c) Теодор Рузвельт.
Re: Microsoft (R) Incremental Linker Version 8.00.50727.42
От: astral_marine  
Дата: 06.10.06 07:23
Оценка:
N>#include <cassert>

N>const wchar_t * const String1 (L"Test String!");

N>const wchar_t * const String2 (L"Test String!");

N>int main ()
N>{
N>    assert ((String1 != String2) && "c++ changed today");
    
N>    return 0;
N>}
N>


Сравниваются не строки, а указатели на них. А они не равны. Детская ошибка.
Надо использовать wcscmp или std::wstring

N>И самое главное, где это отключить?

Что отключить? Стандарт С++?
Re[2]: Microsoft (R) Incremental Linker Version 8.00.50727.4
От: np9mi7 Россия  
Дата: 06.10.06 07:27
Оценка:
Здравствуйте, astral_marine, Вы писали:

_>Сравниваются не строки, а указатели на них. А они не равны. Детская ошибка.




Это понятно, ты лучше скажи чем всё это дело закончиться?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
"В любое мгновение принятия решения, лучшее, что вы можете сделать, это принять правильное решение; следующим лучшим вариантом будет принять неправильное решение, худший вариант – не принимать решения совсем" (c) Теодор Рузвельт.
Re[2]: Microsoft (R) Incremental Linker Version 8.00.50727.4
От: CreatorCray  
Дата: 06.10.06 09:02
Оценка: 3 (2)
Здравствуйте, astral_marine, Вы писали:

_>Сравниваются не строки, а указатели на них. А они не равны. Детская ошибка.

Если включен при компиляции String pooling (/GF) то могут быть и равны.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.