Форум программистов, компьютерный форум, киберфорум
Наши страницы

Что такое конструктор? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести студентов, имеющих средний балл от 3 до 4.5 http://www.cyberforum.ru/cpp-beginners/thread1491642.html
Простая программа, вывода студентов (до 20 человек), имеющих средний балл от 3 до 4.5. Кто скинет исходник, буду оч благодарен пацы.
C++ Найти ошибку при формировании нового массива из двух #include <iostream> using namespace std; int main() { int arr1, arr2, rez; printf ("Vvedite elementi 1 massiva (cherezprobel):"); for(int i=0; i<10; ++i) { scanf ("%d",&arr1); } http://www.cyberforum.ru/cpp-beginners/thread1491640.html
C++ Как использовать DAO без MFC (дайте простенький примерчик)
Всем здрасьте. У меня Win XP без офиса ( т.е. MS Office никогда не было), короче голый windows и без FrameWork, но dll-ка DAO, я смотрю, есть. Буду использовать VS 2010 Пожалуйста помогите...
C++ Сортировка выбором по возрастанию
Провести сортировку элементов массива больших числа С по возрастанию методов сортировки с выбором. Элементы удовлетворяющие условию должны оказаться вначале массива. Ввод числа С организовать с...
C++ Сформировать массив расположив элементы на главной диагонали http://www.cyberforum.ru/cpp-beginners/thread1491624.html
Задан массив А(50)(50). Сформировать из него массив BB(50)(50), расположив элементы массива АА на главной диагонали. Значения остальных элементов массива ВВ обнулить
C++ Написать код программы для реализации класса human Написать код программы для реализации класса human с атрибутами класса имя и возраст и методами задания имени и возраста и вывода информации об объекте этого класса. подробнее

Показать сообщение отдельно
hoggy
6701 / 2883 / 494
Регистрация: 15.11.2014
Сообщений: 6,480
Завершенные тесты: 1
03.07.2015, 12:23
Цитата Сообщение от Tulosba Посмотреть сообщение
Отнюдь. Примеры:
- Направление на север распознается по мху на камне. Но мох у камня, а не у севера или направления.
- Утечка газа распознается по запаху. Но сам газ не имеет запаха, запах придается одорантом.
Суть в том, что признак, по которому мы что-то пытаемся распознать может быть косвенным, и по факту не принадлежать распознаваемой сущности.
но не в данном случае.

согласно первому предложению получается,
что конструктор распознается по собственному имени.
признак не косвенный.
----------------------------------------

на самом деле тезис ложный.
и вот почему:
есть принципиальное различие между обозначением типа,
и обозначением имени.

вы не можете использовать тип там, где ожидается имя.
и наоборот: там, где ожидается имя, нельзя использовать тип.

пример:

C++
1
std::bind(&some::method, obj);
здесь:
some - обозначает тип
method - обозначает имя (функции-члена).

где нибудь в шаблонах, мы можем написать:

C++
1
std::bind(&T::method, obj);
в качестве параметра шаблона можно указывать тип, оставляя имя прежним.

но проделать аналогичное с именем функции-члена уже не получится.
C++
1
2
std::bind(&some::TNAME, obj); //<--- нельзя оторвать имя от типа, 
     //и передавать его как обособленный параметр

C++
1
2
3
4
5
auto obj = T(param); // <--- здесь фигурирует запуск конструктора, 
  // но не фигурирует (и не может фигурировать) имя функции этого конструктора
 
 // T не может быть лексемой со значением "имя".
 // потому что ожидается тип.
таким образом, конструктор распознается по типу конструируемого объекта,
и аргуменам, с которыми его хотят построить.
никаких имен конструкторов при этом не фигурирует.

Цитата Сообщение от Tulosba Посмотреть сообщение
Вот сразу вспомнилась тема про утечки памяти. Почему-то там ты с этим подходом категорически был не согласен.
не понятно, с чего вы это взяли, и какова связь с мемликами.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru