анықталмаған байланыс

I was researching what std::bind is and what it's for (that may eventually be a different question) at MSDN: http://msdn.microsoft.com/en-us/library/bb982702.aspx

Және аталған прототиптердің төмендегідей екенін көрді:

template
   unspecified bind(Fty fn, T1 t1, T2 t2, ..., TN tN);
template
   unspecified bind(Fty fn, T1 t1, T2 t2, ..., TN tN);

Мені екі себеп бойынша шатастырады. 1) Соңғы кезде мен MSVC вариативті үлгілерді қолданбады және 2) Менің сұрағым: <кодты> анықталмаған деген сөз неден тұрады? (Бұл анықталмаған мінез-құлқымен байланысты емес).

1

3 жауаптар

{1, 2, ..., N } дәлелдерін күтетін бөлек жүктемелер бар. Олардың бәрін тізімдеудің орнына, құжаттама әр түрлі сандар параметрлерін қолдануға болатындығын көрсету үшін статистиканы пайдаланады. Бұл жарамды C ++ синтаксисін суреттеуге арналған емес. Мен құжаттаудың қандай жерде екенін N деп күтетін болар едім.

Нәтиже түрі форвардтың қандай да бір нысаны болады және функтор әдетте функциясы нысанында сақталатын болады немесе нәтижені тікелей for_each және компилятордың шаблонының үлгісін алып тастауды анықтаңыз. Нәтиже қабылданатын болса, нақты түрі маңызды емес және құжаттамада қысқаша түсіндіруге тырысу қиын болады.

1
қосылды

Visual Studio вариадтық үлгілерді қолданбайды. Олар концепцияны функцияның көп жүктелуіне (макростар арқылы салынған болуы мүмкін) ие болуымен ерекшеленеді. Бұл boost :: bind енгізілген, бұл жерде std :: bind .

std :: bind қайтаратын unspecified түріне дәл сәйкес келеді. Жылжымалы түрдегі объект болу керек. Бұл нысан std :: bind функциясына байланысты функцияны шақырту үшін operator() тиеуі мүмкін.

1
қосылды

Қайтару түріндегі анықталмаған дегеніміз ол жақсы, анықталмаған түр болып табылады. Стандарт қайтарылған тип стандартты мандаттарға сай болғанға дейін, bind ішінен нақты түрін қайтаруды талап етпейді.

... болсақ, мен білмеймін ма VS оларды жүзеге асырады ма немесе жоқ, бірақ сол құжаттарды көресіз boost :: bind әртүрлі типтегі компиляторларда бірнеше уақыт бойы қолдау көрсетпей компиляция жасау ... құжаттамада әртүрлі типтердегі N аргументтерін бере алатыныңыз туралы айтылған, бірақ бұл дегеніміз, бұл бір ғана үлгіні , ол 1-ary, 2-ary ... N-ary үлгілерінің жиынтығы бойынша іске асырылуы мүмкін.

Құжаттама оны іске асырудан қалай күтуге болатынын көрсететін мінез-құлықты көрсетіп отыр.

1
қосылды
О, қайтарым түрінің жетіспеуін байқадым. Міне бітті.
қосылды автор Mooing Duck, көзі