C++
文章平均质量分 77
kendyChina
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++笔记
记录下写得比较好的文章! extern C/C++中extern关键字详解 面试题 C++面试常问问题汇总 2017年阿里面试必会20道C++面试题!原创 2022-03-06 22:57:43 · 305 阅读 · 0 评论 -
C++之main之前执行函数
全局变量、全局static变量是在程序加载后,main函数执行之前进行初始化的,借助这一特性,可以实现main之前执行特定函数。 #include <iostream> using namespace std; int func1() { cout << "func1()" << endl; return 0; } int i = func1(); static int j = func1(); int main() { cout <原创 2022-03-06 17:21:12 · 423 阅读 · 0 评论 -
C++之构造、析构函数在继承中的调用关系
继承关系中,构造函数、析构函数的调用顺序: 在构造派生类时,调用顺序为:父类构造-子类构造-子类析构-父类析构 class Base1 { public: Base1() { cout << "Base1()" << endl; } ~Base1() { cout << "~Base1()" << endl; } }; class Derived1 : public Base1 { public: Derived1() { cout原创 2022-03-02 21:54:08 · 1974 阅读 · 0 评论 -
C++之extern
本文会从实践中总结出extern关键字的作用。 全局变量 extern只是声明了变量,并未定义变量,即没对变量分配内存空间。如下例子,我只编译main.cpp: main.cpp: #include<iostream> using namespace std; extern int i; int main() { ++i; cout << "i: " << i << endl; return 0; } 编译:g++ main.原创 2022-03-01 21:35:05 · 3093 阅读 · 0 评论 -
CMake之add_custom_target
本文介绍了CMake中的add_custom_target命令。使用的CMake版本是3.22.1。 CMake中一切都是基于target的,如add_library会产生一个library的target,add_executable会产生一个exe的target… 本文的add_custom_target会根据命令的参数生成一个target,这个target相对的可以更定制化一点。 官方文档:https://cmake.org/cmake/help/v3.22/command/add_custom_tar原创 2022-02-08 22:08:32 · 19757 阅读 · 1 评论 -
CMake之ExternalProject安装boost
这是CMake中用于管理第三方库的命令。本文使用的CMake版本是3.22.1。 官方文档:https://cmake.org/cmake/help/v3.22/module/ExternalProject.html ExternalProject_Add 定义一个target,包括以下的步骤: download update/patch configure build test download 支持指定网上压缩包的url,以及本地的压缩包。 ...原创 2022-01-24 23:09:55 · 2250 阅读 · 1 评论 -
CMake之add_executable
本文使用CMake版本为3.22.1。 add_executable的官方文档:https://cmake.org/cmake/help/v3.22/command/add_executable.html?highlight=add_execuable 语法 创建名为<name>的target,这个target在make的时候会编译为可执行文件。编译的源文件为[source1] [source2]…。根据平台的不同,编译后的可执行文件名可能为<name>.exe或者。 关于编译的产原创 2022-01-23 09:42:53 · 25190 阅读 · 1 评论 -
C++之重载、覆盖、隐藏、虚函数
C++的重载、覆盖、隐藏、虚函数、纯虚函数等概念,都体现于多态的体系中,我会用简单的例子阐述清楚。 本文提及的 父类 即 基类,子类 即 派生类。 先看demo: #include <stdio.h> class OverLoadClass{ public: void run(int i) {printf("int: %d\n", i);} void run(float i) {printf("float: %f\n", i);} // void run(float j) {pr原创 2020-11-02 21:24:50 · 759 阅读 · 0 评论
分享