Вопрос по while ();
От: Аноним  
Дата: 28.08.10 15:17
Оценка:
Такая фишка:

WCHAR *pw1, *pw2;

pw1 = new WCHAR [10];
pw2 = new WCHAR [10];

ZeroMemory (pw1, 20);
ZeroMemory (pw2, 20);

pw1[0]=0x20;
pw1[1]=0x20;
pw1[2]=0x55;

pw2[0]=0;
pw2[1]=0;

while (*pw1++ = pw2++);

После выполнения pw1 и pw2 увеличиваются на sizeof (WCHAR)

Почему так?
По идее, сначала в цикле вынимается содержимое *pw2, но оно уже равно нулю, делее продолжения быть не должно,
но все-таки строки копируются с завершающим нулем из *pw2

??

Или так:
while (*pw2++);
pw2 увеличивается на sizeof (WCHAR); хотя там нуль сразу в первой ячейке.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.