Վեկտորը՝: Վերաբաշխումը տեղի է ունենում միայն այն դեպքում, եթե կա ավելի շատ տարածքի անհրաժեշտություն: Այստեղ տարայի չափը մեծանում է մեկով։
Ինչի՞ համար է օգտագործվում emplace ֆունկցիան:
C++ set emplace ֆունկցիան օգտագործվում է սահմանված կոնտեյները երկարացնելու համար՝ նոր տարրեր տեղադրելով կոնտեյների մեջ: Տարրերը կառուցվում են ուղղակիորեն (ոչ պատճենվում են, ոչ էլ տեղափոխվում): Տարրի կոնստրուկտորը կանչվում է՝ այս ֆունկցիային փոխանցված արգումենտներին տալով արգումենտներ։
Ի՞նչ է անում Vector emplace?
vector::emplace
Տեղադրում է նոր տարր կոնտեյների մեջ անմիջապես pos-ից առաջ: Տարրը կառուցված է std::allocator_traits::construct-ի միջոցով, որը սովորաբար օգտագործում է place-new տարրը տեղում կոնտեյների կողմից տրամադրված վայրում կառուցելու համար:
Ի՞նչ է emplace-ը հերթում:
հերթ::emplace-ը օգտագործվում է հերթի բեռնարկղում նոր տարր տեղադրելու կամ տեղադրելու համար Քանի որ հերթի կառուցվածքի գործառույթն այն է, որ տարրը տեղադրված է կառուցվածքի վերջում:, to emplace-ը կանչում է emplace_back տարրի հաջող տեղադրման համար հերթի կոնտեյների վերջում։
Ո՞րն է տարբերությունը emplace-ի և push-ի միջև:
Մինչ push ֆունկցիան տեղադրում է արժեքի կամ ֆունկցիային փոխանցված պարամետրի պատճենը վերևի կոնտեյների մեջ, emplace ֆունկցիան կառուցում է նոր տարր՝ որպես պարամետրի արժեք, այնուհետև այն ավելացնում է վերևում: կոնտեյներ.