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

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

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

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

13.05.2014, 12:27. Просмотров 244. Ответов 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();
Посмотрите здесь:

Ошибка type qualifier 'std' must be a struct or class name C++
C++ std::endl; и std::cout"/n"; - одно и то же?
Странное рекурсивное поведение объекта std::cout C++
std::bind1st: is not a class, struct, or union type C++
C++ std::cout в CodeBlocks неправильно работает?
C++ Вывод адреса по указателю на char в std::cout
Как узнать, находится ли std::cout в hex-режиме? C++
Написать программу более простым языком (как заменить std::cout на printf? ) C++
Нюансы ввода/вывода в Си и C++ (функция printf() и объект std::cout) C++
C++ Найти причины ошибки: cout не является членом std
Не могу осилить std::cout C++
Std::cout и его перегруженный битшифт C++

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

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

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