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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
XRoy
851 / 701 / 217
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
#1

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

31.03.2014, 18:01. Просмотров 172. Ответов 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 странное поведение
Посмотрите здесь:

Разное поведение программы в консоли и в Visual Studio 2010 - C++
Добрый день! Я новичок - изучаю С++ третий день. Во время выполнения упражнения с функцией rand() столкнулся с проблемой. Перед ее...

Странное поведение в коде - C++
Есть два класса: ArrayList&lt;T&gt; и Array&lt;T&gt; (реализация в конце поста). И есть такой код: ArrayList&lt;int&gt; list = { 1, 2, 3 }; ...

Странное поведение транслятора - C++
В следуюшем примере код компилируется нормально, но объект класса b не содается (пробывал на Visual studio 10 и на Borland builder 5), что...

Странное поведение (сдвиг) - C++
Здравствуйте.Прошу помочь с задачкой. Программа , должна &quot;сдвигать&quot; данные в один бит(128), но при вызове функции с разными параметрами,...

Странное поведение указателя - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; int main(){ char line1=&quot;hello world!&quot;; char line2=&quot;hell word!&quot;; int...

Странное поведение кода - C++
int x; cout &lt;&lt; (x = 1) + (x = 2) + (x = 3); У меня выводит 7 (вместо 6). Почему?!?!

Странное поведение cin - C++
Есть класс, в нем есть два текстовых private члена, friend-оператор&gt;&gt; и friend-функция getline для записи в эти члены. Но когда в main.cpp...

Странное поведение указателя - C++
Здравствуйте, наткнулся на непонятное мне поведение указателя или точнее менеджера памяти. Есть код: #include &lt;iostream&gt; #include...

Странное поведение строки - C++
Есть класс со связным списком(в связных списках символы)(файл1). Перегружаю оператор сложения для объектов этих классов так, чтобы оператор...

Странное поведение функции - C++
Здравствуйте! Я взялась за реализацию метода Крылова для нахождения коэффициентов характеристического полинома. Написала программу, но...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 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 странное поведение
Ответ Создать тему
Опции темы

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