这种模式是什么意思?新建(&条目[num_entries])项目;
what does this pattern mean? new (&entries[num_entries]) item;
代码如下:
struct set_t {
static const uint32 MAX_ENTRIES=128;
uint32 num_entries;
item_t entries[MAX_ENTRIES];
inline void add_back(item_t item){
***new (&entries[num_entries]) item;***
++num_entries;
}
};
此行:" new(& entries [num_entries])项目;"令人困惑,实际上是分配内存吗?
请查看以下问题:在"?
new (address) varname;
是所谓的位置新操作员,它在预先分配的缓冲区上构造对象。
所以您的问题的答案是:它不会分配新的内存。
相关文章:
- 这是在传递 int num 时创建搜索函数的正确方法吗?使用链表库
- C++:此代码可以编译,但引发运行时检查失败 #2 - 围绕变量周围的堆栈'num'已损坏。发生
- C++ Python 循环"for i, num in enumerate(list):"版本
- 如果我从single_digits[*num - '0']]中删除'0',为什么这个程序会崩溃)
- "a = new arr ***[num];"的含义是什么?
- 初始化时 num 的哪个值会给这个嵌套循环一个"true"输出?
- 语句中分配给 num 的值是什么
- 计算数的素数除数之和(非异数)直到 num 的有效替代方案
- 如何在Windows C MFC应用程序状态栏中禁用CAP NUM SCRL指示器
- 平台特定的std :: chrono :: high_resolution_clock :: ofence :: num
- 由于 RPTR->num=30 与 (*rptr).num=30 相同,但是*((*rptr).ptr).name 不起作用为什么?
- 奇怪!Linux & Windows VSprintf float num to file
- 这个表达式是如何工作的:Num*rand() / RAND_MAX
- "for num in [1,4,5]" Python 等效于 C++?
- 使用变量num时,变量周围的堆栈已损坏
- 在 C++ 中使用 if( num & 2) 作为条件?
- 如何使用以下参数调用函数:fun(Ty-param[NUM])
- "avg += abs(num)" 'abs(double&)'超载
- num>>1 在 c++ 中是什么意思?
- VS2008 C++: int32_t num = 0502; // num = 322