C++
cothisway
开发就这样~
展开
-
深入解析std::addressof
std::addressof模板函数定义在<memory>头文件中,用于获取类或函数的真实地址,即使在类重载了地址操作符&的情况下也能正常工作。它有如下三个声明:template<typename T>T* addressof(T& arg) noexcept; // (1) 从C++11开始支持template<typename T>...原创 2020-03-09 23:43:45 · 1549 阅读 · 0 评论 -
深入解析std::allocator
std::allocator类模板定义在<memory>头文件中,是C++标准库容器默认的内存分配器实现,它封装了包括访问与寻址,分配与释放和对象构建与析构的策略。std::allocator是无状态的,也就是说,所有的allocator实例都是可互换的,可比较且相等的,甚至可以用一个allocator实例释放另一个allocator实例分配的内存。/* 代码示例 */std::a...原创 2020-03-07 23:28:00 · 7085 阅读 · 2 评论