2
std :: unordered_map โอเปอเรเตอร์ [] ทำการ zero-initialization สำหรับคีย์ที่ไม่มีอยู่หรือไม่?
ตาม cppreference.com std::map::operator[]สำหรับค่าที่ไม่ได้มีอยู่จะเริ่มต้นเป็นศูนย์ อย่างไรก็ตามไซต์เดียวกันไม่ได้กล่าวถึงการกำหนดค่าเริ่มต้นเป็นศูนย์std::unordered_map::operator[]ยกเว้นจะมีตัวอย่างที่ต้องใช้สิ่งนี้ แน่นอนว่านี่เป็นเพียงเว็บไซต์อ้างอิงไม่ใช่มาตรฐาน ดังนั้นรหัสด้านล่างตกลงหรือไม่? #include <unordered_map> int main() { std::unordered_map<int, int> map; return map[42]; // is this guaranteed to return 0? }