我是 C++ 新手。“新”系列究竟意味着什么?例如:
UnicodeStringList* tmp = new UnicodeStringList;
// where UnicodeStringList is typedef to std::list<UnicodeString>
当你“新”一些东西时,你必须确切地知道你需要它有多大,对吧?那么当我使用赋值构造函数复制一个对象时,计算机如何知道应该在堆上分配多少内存呢?例如:
*tmp = another_string_list;
another_string_list 正在被复制到堆内存中我新的 UnicodeStringList 中,但我最初从未指定该堆内存应该有多大。而且编译器不知道 another_string_list 有多大,所以有多少内存进入堆?
我很困惑,希望我已经足够详细地说明我的问题,以便有人可以理解我,但我不确定。
请帮忙
谢谢,
朱利安