Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,724
Записей в блоге: 1
1

Оператор присваивания в условии

14.12.2011, 10:08. Просмотров 2318. Ответов 3
Метки нет (Все метки)

Есть конструкция вида:

C++
1
2
3
4
5
6
7
8
9
class AC_Node;
class Vector;
Vector *pQueue = someValue;
 
AC_Node* r = 0;
while (r = (AC_Node*)pQueue->Dequeue())
{
....
}
с оператором присваивания в условии работает, и вроде как правильно.
Только я не понимаю как? (да и ворнинг выдает)
Когда и каким образом условие присваивание будет false?

Добавлено через 33 минуты
Решено:
Код
while ((r = (AC_Node*)pQueue->Dequeue()) != 0)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2011, 10:08
Ответы с готовыми решениями:

Переопределить оператор присваивания
Немогу переопределить оператор присваивания для своего типа - линейного списка. Проблема в том, что...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор...

Оператор присваивания.
Всем привет!В универе щас работаем с классами и перегрузками.В частности перегрузкой оператора...

Оператор присваивания в c++
Такой вопрос, для каких классов следует явно перегрузить оператор присваивания??

3
794 / 546 / 61
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
14.12.2011, 11:47 2
Не знаю, актуально ли ещё, но оператор присваивания обычно возвращает присвоенное значение. По крайней мере для встроенных типов (и в сях, и в плюсях).

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main( void )
{
   int a;
   
   printf( "int >" );
   scanf( "%d", &a );
   
   int b = 0;
   
   printf( "%d\n", (b = a) );
 
   return 0;
}
А пользовательских классах - уже кто как реализует.
1
Эксперт С++
5015 / 2594 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
16.12.2011, 08:56 3
Цитата Сообщение от talis Посмотреть сообщение
но оператор присваивания обычно возвращает присвоенное значение.
Можно так сказать
Цитата Сообщение от oxotnik Посмотреть сообщение
да и ворнинг выдает
Должен подавляться скобками.
C
1
2
if (a = 5) // warning
if ( (a = 5) ) // ok
0
4845 / 3266 / 465
Регистрация: 10.12.2008
Сообщений: 10,569
16.12.2011, 19:03 4
Цитата Сообщение от oxotnik Посмотреть сообщение
Когда и каким образом условие присваивание будет false?
когда r будет равно 0
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2011, 19:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Оператор присваивания
Добрый день! Помогите, пожалуйста, разобраться. Я не совсем понимаю работу перегруженного...

Оператор присваивания
Какая разница между оператором &quot;=&quot; и &quot;==&quot; Почему , например , в цикле нужно писать ...

Оператор присваивания
Здравствуйте! Есть класс, в котором перегружены операции сложения и присваивания: void operator...

оператор присваивания
Привет всем ! Каким образом вызывается оператор присваивания, например, здесь: a = &quot;I &quot;; если в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.