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

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

Войти
Регистрация
Восстановить пароль
 
kordax
4 / 4 / 1
Регистрация: 08.06.2014
Сообщений: 89
#1

Указатель = 0 в аргументе конструктора - C++

12.07.2014, 18:45. Просмотров 213. Ответов 4
Метки нет (Все метки)

Не знал даже как тему назвать.

Прошу пояснить такой момент, не в первый раз встречаю, но гугл мне не объяснил.
Для чего, иногда в конструкторе, прямо в интерфейсе пишут T* p = 0, а не просто T* p?
C++
1
    counted_ptr(T* p = 0, int* c = new int(1)) : pointer(p), count(c) {}    // default constructor
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2014, 18:45     Указатель = 0 в аргументе конструктора
Посмотрите здесь:

Ссылка на указатель в аргументе функции - C++
при изучении примеров реализации бинарного дерева(в функции добавления нового узла)я увидел,что есть как такой вариант,когда аргумент...

Чем отличаются указатель в теле функции и в аргументе - C++
Здравствуйте. Не могу разобраться чем, в данном случае: bool LexAnalysis(const char* text) { const char *str = text; const char...

Взятие адреса в аргументе - C++
Есть такой код: void STOCK::acquiare(const std::string &co,long n, double pr) { company=co; if (n<0) { ...

Ошибка в аргументе функции - C++
Доброго времени суток. В университете дали такое задание: Составить программу на основе ветвления, концепция задачи такова: ...

Значение логарифма при любом аргументе - C++
при значении аргумента больше 1 следует воспользоваться значением ln10. Не могу понять ошибку, программа работает без цикла if, а с ним...

Шаблонная функция, выводящая информацию о своем аргументе - C++
Надо написать программу, буду очень благодарен

Вычислить значение разных функций при определенном аргументе - C++
Вычислить значение y в зависимости от выбранной функции ϕ(x), аргумент которой определяется из поставленного условия. Возможные значения...

Указатель на указатель, функции для создания новых массивов? - C++
Всем привет! У меня в коде есть несколько новых массивов, чтобы не повторяться я создам функцию которая будет выделять память под новые...

Приведение любого двумерного массива к типу указатель на указатель - C++
Допустим, есть несколько массивов int arr1; int arr2; int arr3; Какое преобразование нужно сделать, чтобы подобные присвоения...

Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции - C++
Всем привет, программа для вычисления квадратного корня. Не компилируется из за вызова функции вычисления кв корня. Ругается на аргументы. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
12.07.2014, 18:52     Указатель = 0 в аргументе конструктора #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от kordax Посмотреть сообщение
Для чего, иногда в конструкторе, прямо в интерфейсе пишут T* p = 0, а не просто T* p?
Это значение параметра по умолчанию. т.е. можно вызывать counted_ptr() без задания параметров
kordax
4 / 4 / 1
Регистрация: 08.06.2014
Сообщений: 89
12.07.2014, 19:23  [ТС]     Указатель = 0 в аргументе конструктора #3
Понятно, т.е. при вызове этого конструктора по умолчанию, будет автоматом присвоено 0?
Присвоено самому указателю или он будет разыменован?

Если бы было просто T* p, то это бы уже не был конструктор по-умолчанию?
olper
24 / 24 / 11
Регистрация: 02.12.2013
Сообщений: 75
12.07.2014, 19:32     Указатель = 0 в аргументе конструктора #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от kordax Посмотреть сообщение
будет автоматом присвоено 0
некоему "pointer" будет присвоен 0, и разыменовывать его потом не желательно
Цитата Сообщение от kordax Посмотреть сообщение
Если бы было просто T* p, то это бы уже не был конструктор по-умолчанию?
да
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.07.2014, 19:57     Указатель = 0 в аргументе конструктора #5
Цитата Сообщение от kordax Посмотреть сообщение
Для чего, иногда в конструкторе, прямо в интерфейсе пишут
Это касается не только конструкторов, но и любых других функций.
Yandex
Объявления
12.07.2014, 19:57     Указатель = 0 в аргументе конструктора
Ответ Создать тему
Опции темы

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