C++系列
文章平均质量分 72
c++系列
IE06
运筹+大数据+深度学习+机器学习+图像
展开
-
c++系列12:使用vscode进行编译
1)下载安装vscode2)在扩展中搜索c/c++ extension pack并安装(或者直接打开cpp文件,会自动提示进行安装)3)创建项目目录,会自动生成.vscode文件夹,里面是编译所需的文件4)点击右上角的运行按钮,选择clang++进行编译运行,在下方的调试控制台可以看到输出。上图顶部六个按钮分别代表:1.继续执行到下一个断点处2.执行下一条语句,遇到函数直接执行完不会跳转进函数3.执行下一条语句,遇到函数会跳转进函数继续单步执行。原创 2023-02-28 17:14:17 · 2497 阅读 · 0 评论 -
C++系列11:openmp多线程编程
我们在系列6里面已经说了多线程(使用std::thread库),然而项目里面竟然还用到了openmp,不得已只能看下。1. 入门介绍openmp是由一系列#paragma指令组成,这些指令控制如何多线程的执行程序。另外,即使编译器不支持omp,程序也也能够正常运行,只是程序不会多线程并行运行。首先要在cmake中添加上openmp,cmake3.9之后内置了openmp,按照下述语句写即可:然后看一个简单例子:2. 语法解释2.1 紧跟foromp中的for指令用于告诉编译器,拆分接下来的原创 2021-05-16 22:35:03 · 1535 阅读 · 0 评论 -
C++系列10:连接远程服务器
1. 连接dockerdocker需要建立ssh服务,参考这篇:https://blog.csdn.net/maidalun1020/article/details/880446482. 连接远程服务器原创 2021-05-07 19:58:39 · 1374 阅读 · 1 评论 -
C++系列9:使用gtest测试
1. 安装mac上可以简单的使用brew install googletest进行安装。clion中有如下文件因此在CMakeLists中可以简单写成:find_package(GTEST REQUIRED)include_directories(${GTEST_INCLUDE_DIRS})target_link_libraries(untitled ${GTEST_LIBRARIES})当然最好还是别这么搞~2. 断言3. 例子...原创 2021-05-05 23:25:14 · 933 阅读 · 1 评论 -
C++系列8:常用库
1. cmath: 数学计算#include <iostream>#include <cmath>using namespace std; int main (){ // 数字定义 short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // 数学运算 cout << "sin(d)原创 2021-05-05 22:52:57 · 4767 阅读 · 12 评论 -
C++系列7:回调函数
1. 概念简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么使用回调函数?因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数(一般会给一个h文件进行规定),然后通过指针调用即可。基本步骤:定义回调函数(h文件要写清楚)将函数指针(有两种定义方式,推荐用using)交给调用者,在特定事原创 2021-05-05 20:16:07 · 595 阅读 · 1 评论 -
C++系列6:多线程
多线程是实现并发(双核的真正并行或者单核机器的任务切换都叫并发)的一种手段,多线程并发即多个线程同时执行,一般而言,多线程并发就是把一个任务拆分为多个子任务,然后交由不同线程处理不同子任务,使得这多个子任务同时执行。标准库提供了std::thread类来创建和管理线程,std::future类模板来获取异步操作的结果。1 创建线程首先要引入头文件#include<thread>,C++11中管理线程的函数和类在该头文件中声明,其中包括std::thread类。使用C++线程库启动线程,可原创 2021-05-05 17:51:50 · 1059 阅读 · 1 评论 -
C++系列5:指针和引用
1 【重要】指针声明Bjarne 在他的 The C++ Programming Language 里面给出过一个助记的方法: 把一个声明从右向左读。char * const cp; ( * 读成 pointer to ) //cp is a const pointer to char const char * p; //p is a pointer to const char; char const * p;//同上因为 C++ 里面没有 const* 的运算符,所以 const 只能原创 2021-05-05 13:43:11 · 139 阅读 · 0 评论 -
C++系列4:数据类型和变量
1. 字符串1.1 古老版本C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用null字符\0终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个RUNOOB字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词RUNOOB的字符数多一个。char site[7] = {‘R’, ‘U’, ‘N’, ‘O’, ‘O’, ‘B’, ‘\0’};依据数组初始化规则,您可以把上面的语句写成以下语句:cha原创 2021-05-05 13:35:43 · 188 阅读 · 0 评论 -
C++系列3:C++11 STL
首先,c++11之后基本相当于换了一门语言,用cout << __cplusplus << endl;确认,如果出现的头六位数是大于等于201103的,则支持C++11。这里首先讲STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。1. 远古方式这里首先介绍一下传统方法如何建立数组:静态 int array[100]原创 2021-05-05 10:52:04 · 1128 阅读 · 0 评论 -
C++系列2:CMakeLists步步为营
1 生成可执行文件1.1 基础: add_executablecmakelists的核心只有一个add_executable主函数代码如下:1.2 生成目录: set(ececutable_output_path)注意变化,多了一个bin目录1.3 添加头文件: include “”注意变化,添加了新的cpp和h文件,并且在main中include了h文件。cmakelists文件没有变化。1.4 h文件挪到include文件夹:add_subdirectory在src文件夹下新增原创 2021-05-04 22:02:14 · 1074 阅读 · 0 评论 -
C++系列1:安装与编译
1. 安装和编译1.1 安装首先安装clion。有一个好的ide真的非常重要。破解见https://www.jianshu.com/p/ae28af6234eb新建一个untitled,会自动打开CMakeList.txt,真好。按ctrl+R执行;还能debug,数值就显示在旁边;还有错误提示;不要太好用了啊。下面是最简单的一个例子:using namespace std;typedef struct { int x; int y;} Coor;int main() {原创 2021-04-21 10:25:24 · 658 阅读 · 0 评论