- 博客(6)
- 收藏
- 关注
原创 C++ template metaprogram(元编程)
metaprogramming含有“对一个程序进行编程”的意思。换句话说,编程系统将会执行我们所写的代码,来生成新的代码,而这些新代码才真正实现了我们所期望的功能。通常而言,metaprogramming这个概念意味着一种反射的特性:metaprogramming组件只是程序的一部分,而且它也只生成一部分代码或者程序。我们为什么需要metaprogramming呢?和大多数程序设计技术一样,使用metaprogramming的目的是为了实现更多的功能,并且使花费的开销更小,其中开销是以:代码大...
2021-01-10 21:08:12 369
原创 制作ubuntu安装U盘,安装错误gfxboot.c32 not a com32r image
在出现“gfxboot.c32:not a COM32R image boot”的时候,按下Tab键,Then you will see a set of options (live, live install, etc). Select the one that you like typing its name and pressing Enter.1)输入live进入试用Ubuntu模式,在试用模式安装Ubuntu。2)输入live-install (亲测可以)直接进入安装模式。是.
2021-01-07 17:56:16 815
原创 C++ new、operator new、placement new
new和delete操作符我们都用过,它们是对堆中的内存进行申请和释放,要实现不同的内存分配行为,需要重载operator new,operator delete。operator new 就像operator+一样,是可以重载的,但是不能在全局范围对原型为 void operator new(size_t size) 这个函数进行重载,一般只在类中进行重载(也可以重载全局的new)。如果类中没有重载operator new,那么调用的就是全局的::operator new来完成堆的分配。同理...
2021-01-04 22:00:45 281
原创 C++11 中的 emplace
C++11中大部分的容器对于添加元素除了传统的 insert 或pusb_back/push_front 之外都提供一个新的函数叫做emplace。 比如,如果你想要向 std::vector 的末尾添加一个数据,你可以:std::vector<int> nums; nums.push_back(1);你也可以使用:std::vector<int> nums;nums.emplace_back(1);避免不必要的临时对象的产生emplace...
2021-01-04 21:01:44 519
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人