Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

explicit

5.2K
07 января 2005 года
rapa
13 / / 11.06.2004
Плз,обьясните шо такое "explicit",шо оно делалет,для чего надо и т.д.,потому шо я шо-то не вкуриваю.
9.4K
09 января 2005 года
dubov
6 / / 17.12.2004
Цитата:
Originally posted by rapa
Плз,обьясните шо такое "explicit",шо оно делалет,для чего надо и т.д.,потому шо я шо-то не вкуриваю.



MSDN: An explicit constructor cannot take part in implicit conversions. It can only be used to explicitly construct an object.
Полное описание с примером см. здесь: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/vcrefExplicit.asp

6.7K
10 января 2005 года
TylerDurden
20 / / 26.07.2004
Говоря проще(по-русски), explicit запрещает неявное конструирование объектов.Например:
class My
{
public:
My(){};
My(int b)
{}
explicit My(int* b)
{}
};


void func1(My b)
{
//...
}

Где-то в коде:
int b=2;
func1(b);// это проходит. Создается временный обьект My

func1(&b);// а это - болт. Компилятор матюкается, что конструктор explicit.
//Зато можно так:
func1(My(&b));//все нормально. Явно вызвали конструктор.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог