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

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

Войти
Регистрация
Восстановить пароль
 
OxyDencher
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 7
#1

Std::cout<<(new class)->something(); - C++

13.05.2014, 12:27. Просмотров 253. Ответов 1
Метки нет (Все метки)

Всем привет.
Допустим есть:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
class A{
   int i;
public:
   A() = default; //-std=c++0x for gcc (C++11) and i = 0;
   void setI(int value){
      i = value;
   }
 
   int getI(){  
      return i;
   }
};
 
 
int main(){
   std::cout<<"Default value i = " << (new A)->getI();
   return 0;
}
В данный момент работаю больше на Java, С++ изучаю только в рамках универа. Так вот, в java сработал бы сборщик мусора, а в С++ необходимо использовать delete. Но возможно ли объявление экземляров класса без имени, типа того которого приведен выше, так что бы не париться об утечки памяти? (Может у него есть какие то внутренние сборщики или т.п.) или может как то правильно использовать static, virtual и т.п. что бы было можно написать A::getI ???
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2014, 12:27     Std::cout<<(new class)->something();
Посмотрите здесь:

Не могу осилить std::cout - C++
Подскажите плз, почему у меня может не работать cout и std::cout. Пробую в Dev-C++ 5.11 #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Почему gcc ругается на std::cout? - C++
Проблема такая: работаю на Mac, установил Xcode, запускаю gcc в командной строке. Имеется элементарная программка: #include...

std::cout в CodeBlocks неправильно работает? - C++
Ассоциативность у std::cout должна быть слева направо а этот пример в CodeBlocks доказывает противоположное. Добавляю в конец вектора два...

Std::cout и его перегруженный битшифт - C++
Здравствуйте, я пытаюсь понять, почему этот код не пишет в консоль &quot;Hi&quot;. #include &lt;iostream&gt; #include &lt;conio.h&gt; int main() {...

Странное рекурсивное поведение объекта std::cout - C++
Пытался организовать очередь при помощи шаблона и наткнулся на &quot;странное&quot; поведение: // Организация очереди при помощи шаблона ...

Вывод адреса по указателю на char в std::cout - C++
Есть такая вот функция. void Char(char type){ char c,*vc=&amp;c; cout&lt;&lt;setw(8); cin&gt;&gt;c; cout&lt;&lt;type &lt;&lt;setw(8)&lt;&lt;c &lt;&lt;setw(11)&lt;&lt;hex&lt;&lt;c ...

Найти причины ошибки: cout не является членом std - C++
Пример из учебника, пишет что cin, cout - необъявленные идентификаторы, пыталась кажый прописать через std:: - пишет что cout не является...

Как узнать, находится ли std::cout в hex-режиме? - C++
Как узнать, находится ли std::cout в hex-режиме?

Нюансы ввода/вывода в Си и C++ (функция printf() и объект std::cout) - C++
Добрый день. Интересует следующий вопрос: каким именно образом работает команда форматирование &quot;%i&quot; в printf. В манах написано что...

Написать программу более простым языком (как заменить std::cout на printf? ) - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;iomanip&gt; using namespace std; int main() { int const n = 5; int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,190
Завершенные тесты: 1
13.05.2014, 12:48     Std::cout<<(new class)->something(); #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
A().getI()
Тогда создастся временный объект, который в конце выражения уничтожится.
Ответ Создать тему
Опции темы

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