Форум программистов, компьютерный форум CyberForum.ru

Visual Studio странное поведение - C++

Восстановить пароль Регистрация
 
XRoy
848 / 698 / 217
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
31.03.2014, 18:01     Visual Studio странное поведение #1
Почему данный код компилируется и работает в Visual Studio? Ведь мы берем ссылку от временного объекта.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
 
class Class{
private:
    int a;
public:
    Class();
    Class(int _a) : a(_a) {};
    friend ostream& operator<<(ostream & stream, Class c);
};
Class foo();
 
int main() {
    Class * obj;
 
    obj = &foo();
 
    cout << *obj << endl;
 
    return 0;
}
 
Class foo()
{
    return Class(10);
}
 
ostream& operator<<(ostream & stream, Class c)
{
    stream << "Value a:" << c.a;
    return stream;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 18:01     Visual Studio странное поведение
Посмотрите здесь:

странное поведение fstream C++
C++ Странное поведение компилятора
C++ Странное поведение
C++ Странное поведение getline
Странное поведение new C++
C++ Разное поведение программы в консоли и в Visual Studio 2010
Странное поведение функции C++
Странное поведение присваивания C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
31.03.2014, 18:56     Visual Studio странное поведение #2
Скорее всего, реализация такая. mingw не компилирует, студия выдаст предупреждение (если повысить уровень предупреждений). Вопрос больше по студии:
http://www.cyberforum.ru/visual-cpp/
Yandex
Объявления
31.03.2014, 18:56     Visual Studio странное поведение
Ответ Создать тему
Опции темы

Текущее время: 20:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru