«Ашық-конструктор»

C ++ префиксінде конструкторға анық кілт сөзді компилятор осы конструкторды жабық түрлендіру үшін пайдалануға тыйым салады.
11
жауаптар

Ашық кілт сөздің мәні неде?

C ++-дегі кілт сөздің мағынасы неде?
23 қыркүйекке белгіленген '08 сағат 16: 58-те
11
жауаптар

C ++ жолдың тұрақты мәнінен 'char *' түрлендіруін ескірген

Менде жеке char-сыныппен сынып бар [256]; және бұл үшін менің анық конструкторым бар: анық myClass (const char * func) {strcpy (str, func); } Мен оны келесідей деп атаймын: myClass obj («example»); Мен оны құрастырған кезде келесі ескертуді аламын ...
06 қазанда орнатылды '09 сағат 11:45
4
жауаптар

Көптеген аргументтерді қабылдайтын ашық конструктор

(Пайдалы) әсері бар бірнеше айқын дәлелдер бар конструктор бар ма? Мысал: A сыныпты {public: анық A (int b, int c); // анық (пайдалы) әсері бар ма? };
24 тамызда орнатыңыз Сағат 16: 29-да
4
жауаптар

Даналардың тізімін инициализациялауға нақты конструкторлар рұқсат етсе, не дұрыс болмауы мүмкін?

C ++ стандартында §13.3.1.7 [over.match.list] төменде көрсетілген: Көшірме тізімін баптандыру кезінде конструктор анық болса, инициализация нашар қалыптасады. Міне, сондықтан біз осындай нәрсені жасай алмаймыз, мысалы: struct foo {// ...
06 ақп '12 сағат 10:49
5
жауаптар

Неге екі немесе одан да көп параметрлері бар әдепкі конструкторлар мен конструкторлар (әдепкі емес) рұқсат етілген?

Бірыңғай (әдепкі емес) параметрі бар конструкторлар бұл параметр түрінен сынып түріне түрлендіретін жабық түрлендіргіштер ретінде әрекет ететінін түсінемін. Дегенмен, кез-келген конструкторды біліктіліктендіру үшін қолдануға болады.
17 желтоқсанда белгіленген '10 сағат 5:17
5
жауаптар

Қарқынды конструктор?

Кілт сөзді көшіру конструкторларын қоспағанда, бір дәлелмен шақыруға болатын барлық конструкторлар үшін ұсынылады. Көшірме конструкторлар үшін оны пайдалану мүмкіндігі бар (оны жоққа шығаруға тыйым салынады).
20 шілдеде сағат 10: 55-те
3
жауаптар

Барлық C ++ конструкторларын оқшаулау үшін кемшіліктер бар ма?

Кодты қайтадан жасағанда, параметрді көрсетпей конструкторға қосқан кезде немесе бірнеше көп параметрлі конструктордан параметрлерді жойғанда, кілт сөзді қосуды ұмытып кеттім. Бұны болдырмау үшін мен ...
18 сәуірде белгіленген '11, 16: 14-те
3
жауаптар

C ++ 11: сыныпта баптандыру «= {}» анық конструктормен жұмыс істемейді

C ++ 11-де сыныпта инициализацияны «кронштейн-немесе-теңестіргіш» (стандарттан алынған сөз), мысалы: struct Foo {/ * explicit * / Foo (int) {}} арқылы орындауға болады; struct bar {Foo foo = {42}; }; Бірақ егер біз бұрынғы түсініктеме бермейтін болсақ ...
01 қазанда орнатқан '14 сағат 11:37
5
жауаптар

Конструктордағы қажетсіз өзгерісті болдырмау

Мұнымен сәйкес айқын: конструкторларды және трансформация операторларын анықтайды (C ++ 11 бастап), олар көшірмелерді инициализациялауға немесе жасыруға мүмкіндік бермейді. Бұл екі әдіс бірдей ме? struct Z {// ... ...
19-сәуірде белгіленген '16 сағат 17:53
2
жауаптар

Ашық конструкторды қолдансам, кілт сөзді .h және .cpp файлдарына қою керек пе?

Шын мәнінде менің сұрағым тақырыпта барлық нәрсе. Кез-келген жағдайда: Менде сынып бар, мен нақты конструкторды қолданамын: .h class MyClass {public: анық MyClass (const string s): сұрау (лар) {} жеке: string сұрау; } Міндетті немесе жоқ ...
08 қарашада орнатылды. '08 сағат 0:03
3
жауаптар

C ++-де нақты және жанама тапсырма арасындағы айырмашылық қандай?

int value = 5; // тапсырманың бұл түрі анық тағайындау int мәні (5) деп аталады; // тапсырманың бұл түрі қандай болса, солардың арасында қандай айырмашылық бар және қандай жағдайларда нақты және жанама тапсырмадан айырмашылығы бар ...
17 маусымда сағат 10: 00-де
2
жауаптар

Көшірмені инициализациялау кезінде инициализацияны қай кезде пайдалануға болады?

Бұл жай ғана артықшылығы бар ма, әлде басқа біреу қажет болған нақты жағдайлар бар ма? Мен T t (e) нұсқаларын баптандыруды білдіреді; // тікелей баптандыру T t = e; // баптандыруды көшіру
27 қараша күні орнатылды '10 сағат 22:59
1
жауап

C ++-дегі әдепкі құрылыстық конструкторлар 17

C ++ 17-де, стандартты кітапханадағы бос тегтер түрлері енді әдепкі деп белгіленген әдепкі конструкторлармен, сондай-ақ = әдепкі параметрлері бар. Мысалы, std :: piecewise_construct_t енді struct piecewise_construct_t ретінде айқындалады [анықтығы кішкене ...
25 мамырда 2: 48-де қойылған
2
жауаптар

Std :: unique_ptr <T> конструкторының дәлелі қандай?

Std :: unique_ptr жадтың ағып кетуіне жол бермеу және ерекше жағдайлардың сақталуын қамтамасыз етудің ыңғайлы әдісі ретінде шикізат көрсеткішіне емес, оларды өткізген жөн. Осылайша, сіз (мүше) функциясын std :: unique_ptr <some_type> түріндегі қолтаңбамен қаласаңыз болады ...
28 аук. '14, 14:27
1
жауап

N-ary конструкторлары үшін анық?

Бұл презентацияда: http://qtconference.kdab.com/sites/default/files/slides/mutz-dd-speed-up-your-qt-5-programs-using-c++11.pdf Автордың айтуынша, N-ary дизайнерлері C ++-нің кілт сөзінің айқын нұсқасының нұсқасын пайдаланды.
15 желтоқсан белгіленді. '12 сағат 0:29