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

Как работает компилятор при создании объекта - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод таблицы значений фенкций http://www.cyberforum.ru/cpp-beginners/thread987622.html
Написать программу,которая выводит таблицу значений финкции >^(x-2)+(x+1). Диапазон изменения аргумента вводится пользователем так же как и шаг приглашение аргумента.
C++ Удалить столбец матрицы с номером K Дана матрица размера M × N и целое число K (1 ≤ K ≤ N ). Удалить столбец матрицы с номером K. #include "stdafx.h" #include <iostream> #include <time.h> #include <stdio.h> using namespace std; int _tmain(int argc, _TCHAR* argv) { http://www.cyberforum.ru/cpp-beginners/thread987615.html
Решение квадратного уравнения C++
Написать программу решение квадратного уравнения. Программа должно проверять правельность исходных данных и в случае, если коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение.
Перегрузка операций C++
3. Множество с элементами типа char. Дополнительно перегрузить следую-щие операции: • -  удалить элемент из множества (типа set-char); • проверка на подмножество; • !=  проверка множеств на неравенство.
C++ Взаимное включение заголовочных файлов http://www.cyberforum.ru/cpp-beginners/thread987567.html
Нужно передать объект по ссылке Вот как сейчас: //LoadImages.h class LoadImages { ttfInit(); }; //LoadImages.cpp void LoadImages::ttfInit() {
C++ Лабораторная для заочника Здравствуйте, нужна помощь в написании программы. Задано некое математическое выражение, проверить соблюдается ли равенство открывающихся и закрывающихся скобок. Если равенство соблюдается, то вывести соответствующее сообщение, в противном случае вывести количество открывающихся и закрывающихся скобок. Вчера нашел на этом сайте похожую задачу, думал подстроить под себя, но ничего не... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
25.10.2013, 13:47     Как работает компилятор при создании объекта
Raali, Отнюдь, строка которая вы процитировали
C++
1
String s3 = "Немного лет тому назад, там где сливаяся шумят";
Является ничем иным как
C++
1
String s3(String("Немного лет тому назад, там где сливаяся шумят"));
Конструктор копии вызывается, но на самом деле вызов не обязателен (copy-elision).

Добавлено через 30 секунд
novi4ok, Это не является вызовом конструктор копирования, это именно вызов оператора присваивания.

Добавлено через 3 минуты
Ilot, Код не будет компилироваться ни на одном нормальном компиляторе. Компилятор, даже если не вызывает конструктор копирования ОБЯЗАН проверить, что подходящий конструктор копирования существует. Здесь же, из-за того, что конструктор копирования принимает ссылку, нужного конструктора копирования нет, т.к. нельзя привести временный объект к ссылке (в MSVC это компилируется, потому что он допускает как расширение биндинг временного объекта к ссылке).
 
Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru