banner
cells

cells

为美好的世界献上 bug

cpp

C++ 伪闭包
伪闭包 闭包允许函数捕获并携带其作用域中的变量,在闭包定义的作用域已经结束,这些变量仍然可以通过闭包访问,闭包也可以推迟操作,减少代码冗余。 与智能指针配合延长对象的生命周期。 Copy class A {}; int foo() { std::shared_ptr<A>…
关于指针常量与常量指针
指针常量 Copy int *const ptr = nullptr; const 修饰的是指针 ptr 的值,ptr 本身不能被修改,所以指针常量必须初始化,同时我们无法对 ptr 的值进行修改。 Copy int a = 10; int *const ptr = &a; ptr…
预定义宏
预定义宏是由编译器提供的宏定义。 编译器相关的宏 不同的编译器提供自己的一套预定义宏。 GCC __GNUC__:GCC 的主版本号。 __GNUC_MINOR__:GCC 的次版本号。 __GNUC_PATCHLEVEL__:GCC 的补丁级别号。 Clang __c…
cover
cover

CMake 记录

对于一个项目结构: Copy . ├── CMakeLists.txt ├── func │ ├── CMakeLists.txt │ ├── include │ │ └── func.h │ ├── lib │ │ └── libfunc_lib.a…
命名空间那些坑
命名空间 & 源文件 观察以下代码: Copy // current_thread.h #ifndef _CURRENT_THREAD_H_ #define _CURRENT_THREAD_H_ namespace mymuduolib { namespace…
cover

虚函数机制

静态绑定 C++ 中函数的默认绑定是静态绑定,也称为早绑定和编译期绑定。 静态绑定将函数的查找、关联的过程放在编译期间完成,可以提升程序的运行时的性能。 动态绑定 Copy #include <iostream> class Base { public: void foo…
ブログは、創作者によって署名され、ブロックチェーンに安全に保存されています。