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

Есть ли разница между MyClass *c = new MyClass() и MyClass *c = new MyClasss; - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изменить функцию в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread849012.html
Как изменить функцию в обратном порядке? вот функция в которую подаёшь вектор состоящий из 8ми элементов и она возвращает элемент типа char, в которую забиты 0 и 1. char ber(vector <bool> fg) { char byte = 0; for(int i = 0; i < fg.size(); ++i) { if(fg.at(i)) byte |= 1 << i; //ВОТ ЭТА СТРОКА МНЕ НЕ ЯСНА(|) ЭТО ОПЕРАНД ПОБИТОВОГО ИЛИ, А...
C++ Перевести программу на С++ Помогите перевести программу на С++. Программа на определение, является ли строка последовательностью идущих подряд шестнадцатеричніх чисел. Заранее огромное спасибо. uses crt; const bt:string='012346789ABCDEF'; var s:string; i:byte; f:boolean; c:char; begin repeat clrscr; http://www.cyberforum.ru/cpp-beginners/thread849002.html
Одномерный массив C++
Привет. Подскажите, каким образом написать одномерный массив: У вас есть доллары. Вы хотите обменять их на рубли. Есть информация стоимости купли-продажи в банках города. В городе N банков. Требуется определить, какой банк выбрать, чтобы наиболее выгодно обменять доллары на рубли. Видел данный массив на Паскале, не могу понять как написать на cpp. Как я понял: сначала нужно заполнить массив...
Библиотеки для программы C++
Какие библиотеки нужно подключить? #include "stdafx.h" #include <iostream> using namespace std; int main() {
C++ Пяти мерный динамический массив http://www.cyberforum.ru/cpp-beginners/thread848996.html
Ребят помогите сделать пяти мерный динамический массив, я просто не в курсе как это делать.
C++ создать дерево Есть такое задание: Дано N-дерево. Найти в дереве длиннейший путь (пути), вдоль которого номера вершин упорядочены по возрастанию. Даже не знаю как его написать (С++)!Помогите пожалуйста) подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
26.04.2013, 11:43     Есть ли разница между MyClass *c = new MyClass() и MyClass *c = new MyClasss;
Я пожалуй, слегка был не прав, приведя цитаты из стандарта С++11. Тут слегка изменились правила. Вот из 03.
A new-expression that creates an object of type T initializes that object as follows:
— If the new-initializer is omitted:
— If T is a (possibly cv-qualified) non-POD class type (or array thereof), the object is default-
initialized (8.5). If T is a const-qualified type, the underlying class type shall have a user-declared
default constructor.
— Otherwise, the object created has indeterminate value. If T is a const-qualified type, or a (possibly
cv-qualified) POD class type (or array thereof) containing (directly or indirectly) a member of
const-qualified type, the program is ill-formed;
— If the new-initializer is of the form (), the item is value-initialized (8.5);
— If the new-initializer is of the form (expression-list) and T is a class type, the appropriate constructor is
called, using expression-list as the arguments (8.5);
— If the new-initializer is of the form (expression-list) and T is an arithmetic, enumeration, pointer, or
pointer-to-member type and expression-list comprises exactly one expression, then the object is initial-
ized to the (possibly converted) value of the expression (8.5);
— Otherwise the new-expression is ill-formed.

To zero-initialize an object of type T means:
— if T is a scalar type (3.9), the object is set to the value of 0 (zero) converted to T;
— if T is a non-union class type, each nonstatic data member and each base-class subobject is zero-
initialized;
— if T is a union type, the object’s first named data member89) is zero-initialized;
— if T is an array type, each element is zero-initialized;
— if T is a reference type, no initialization is performed.
To default-initialize an object of type T means:
— if T is a non-POD class type (clause 9), the default constructor for T is called (and the initialization is
ill-formed if T has no accessible default constructor);
— if T is an array type, each element is default-initialized;
— otherwise, the object is zero-initialized.
To value-initialize an object of type T means:
— if T is a class type (clause 9) with a user-declared constructor (12.1), then the default constructor for T is
called (and the initialization is ill-formed if T has no accessible default constructor);
— if T is a non-union class type without a user-declared constructor, then every non-static data member
and base-class component of T is value-initialized;
— if T is an array type, then each element is value-initialized;
— otherwise, the object is zero-initialized

Scalar types, POD-struct types,
POD-union types (clause 9), arrays of such types and cv-qualified versions of these types (3.9.3) are collec-
tively called POD types.

A POD-struct is an aggregate class that has no non-static data members of type non-POD-struct,
non-POD-union (or array of such types) or reference, and has no user-defined copy assignment operator
and no user-defined destructor.
 
Текущее время: 23:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru