前言 现在开始转行干java,但是在学校和最初的这两年搞C,始终是对C有个执念,总归需要留下点什么。 把所以有记录,转成博客输出。...还有一个原因,在C/C++开发者当中,使用vscode的群体比较大,文档比较多。...安装C/C++插件 图片 安装Code Runner 图片 安装完成后点小齿轮: Extension Setting-->Code-runner:Run in Terminal 安装 gcc brew
文章目录 第一个Cpp例子 #1 环境 #2 概述 #3 开始 #3.1 方法一:Clion #3.2 方法二:手动创建 第一个Cpp例子 #1 环境 macOS 10.15.5 #2 概述 本文通过两种方式创建一个简单的...Cpp工程,对比两种方法的异同,这里不解释各个文件的作用,仅仅只是介绍两种创建Cpp工程的方法 #3 开始 GitHub例子:https://github.com/Coxhuang/FKCpp/tree...运行main.cpp #3.2 方法二:手动创建 创建如下文件 : build CMakeLists.txt main.cpp ?...cmake_minimum_required(VERSION 3.16) project(demo) set(CMAKE_CXX_STANDARD 11) add_executable(demo_exe main.cpp...) main.cpp内容如下 : // // Created by Cox on 2020/8/30. // #include int main() { std::cout
文章目录 Mac gRPC for C++ #0 源码 #1 环境 #2 安装 #3 开始 #3.1 说明 #3.2 目录结构 #3.3 proto文件 #3.4 gRPC服务端(C++) #3.6...gRPC客户端(Python/C++) #3.6.1 Python #3.6.2 C++ #3.7 效果 #4 遇到的问题 Mac gRPC for C++ #0 源码 Mac: https://github.com...+实现gRPC服务端(CMake编译) Python/C++实现gRPC客户端(两种语言实现客户端) #3.2 目录结构 . ├── client.py ├── macOS │ ├── client_cpp...│ ├── CMakeLists.txt │ ├── build │ └── main.cpp └── ubuntu ├── client_cpp...cd protos protoc --cpp_out=. helloworld.proto protoc --grpc_out=.
基于此,常常找好用的工具进行减少书写cmake的工作,把时间真正用在写工程代码上,好在黄天不负有心人,我找到了VS Code插件“c cpp cmake project creator”,如下 安装 在...VS Code的扩展中搜索“c cpp cmake project creator”,在搜索结果中找到c cpp cmake project creator单击安装即可。...使用快捷键Ctrl+shift+P(cmd+shift+P),输入cmake,然后选择“CMake Project:Create Project”,如下图 按enter即可,会进入到选择开发语言的界面,选择cpp..., 会进入到选择cpp标准的界面,按需要选择98、11、17、20, 然后输入项目名称, 按enter,即可完成项目的创建,工程结构如下 总结 这个插件极大的方便了创建cmake工程,提高了程序员的效率
ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号; __FILE__:在源文件中插入当前源文件名; __DATE__:在源文件中插入当前的编译日期 _..._TIME__:在源文件中插入当前编译时间; __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1; __cplusplus:当编写C++程序时该标识符被定义。
"-Wall", // 开启额外警告 "-static-libgcc", // 静态链接 "-std=c+...+17", // 使用最新的c++17标准 "-Wno-format", "-finput-charset=UTF-8",//...shared" // 不同的文件的编译信息共享一个终端面板 }, "problemMatcher": { "owner": "cpp...shared" // 不同的文件的编译信息共享一个终端面板 }, "problemMatcher": { "owner": "cpp...shared" // 不同的文件的编译信息共享一个终端面板 }, "problemMatcher": { "owner": "cpp
注:此程序其实并没有什么用 想必大家都知道,在C里面,我们的汉字等东西是可以拆分为两个整数的(类似ascii码),那怎样获得每个字的字表码呢?...于是乎,通过两重的for循环,从-256循环到255,利用printf("%c%c",s[0],s[1]);便简单的获得了整个字表。...first <= 253) (seconnd >= -192 && seconnd = 64 && seconnd <= 254) 然后我们利用C的文件输入输出函数将此字表写入文件中
模板的声明与定义分离开,在头文件中进行声明,源文件中完成定义: // a.h template T Add(const T& left, const T& right); //a.cpp...template T Add(const T& left, const T& right) { return left + right; } // main.cpp #include"a.h..." int main() { Add(1, 2); Add(1.0, 2.0); return 0; } 分析: ⚡解决方法 将声明和定义放到一个文件 "xxx.cpp" 里面或者xxx.h其实也是可以的...模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生 2. 增强了代码的灵活性 【缺陷】 1. 模板会导致代码膨胀问题,也会导致编译时间变长 2.
Cpp命名规范 Google C++命名规范 : https://google.github.io/styleguide/cppguide.html#General_Naming_Rules #1 文件命名...全部使用小写字母, 单词间以下划线(_)间隔 蛇形命名与Python一致 例子: foo_bar.cc foo_bar.h C++ 文件要以.cc结尾,头文件以.h结尾,专门插入文本的文件则以.
YamlCpp #1 环境 macOS 10.15.5 Cmake #2 安装 git clone git@gitee.com:Coxhuang/yaml-cpp.git cd yaml-cpp mkdir...) # 查找yaml-cpp link_directories( ${YAMLCPP_LIBRARY_DIRS} # 添加yaml-cpp库文件路径 ) add_executable(yaml_demo...main.cpp) target_link_libraries(yaml_demo ${YAMLCPP_LIBRARIES} # 将yaml-cpp库连接到yaml_demo可执行文件中...) #3.2 使用 新建yaml文件 name: Cox sex: male age: 18 skills: C++: 1 Python: 1 使用 #include #...() << std::endl; } return 0; } 输出: name:Cox sex:male age:18 C+
由于使用了hpijs的开源包,但是是C++的。由于C++解释器比C语言解释器占用的存储空间要大500k左右。...为了节省有限的存储空间,降低成本,同时也为了提高效率,将用C++语言写的源程序用C语言改写是很有必要的。...C++与C区别最大的就是C++中的类的概念和特性,将C++改为C的问题,就转换成如何将类化去的问题。...方法有两种: 第一种是将C++中的面向对象特征去掉,先全部理解源代码的逻辑,然后改写;第二种是在C中保留面向对象的部分特征,用结构体实现类的功能。...八.其他 以上就是C++中主要的与C的区别最大而且最常用的特性及修改方法。其他的还有一些比如模板的使用等等,这些都是为了方便编程,复用代码。C中没有,只好自己写多个函数来分别实现。
Circle(double R);//构造函数 double Area();//求面积函数 private: double r;//半径 } 源文件(.cpp...同时需要 #include一下需要实现的头文件 circle.cpp #include "circle.h" Circle::Circle() { this->r = 5.0; } Circle...{ this->r = r; } double Circle:: Area() { return 3.14*r*r; } 需要注意的是:开头处包含了circle.h,事实上,只要此cpp...这个文件的名字其实不一定要叫Circle.cpp,但非常建议cpp文件与头文件相对应
#include#include#includeusing namespace std;int main(){ string a,b,c;...(1,(a[i]+b[i])%10); a[i+1]++; c[i]+='0'; } else...{ c.append(1,a[i]+b[i]); c[i]+='0'; } } } else...{ c.append(1,a[i]+b[i]); c[i]+='0'; } } } reverse...(c.begin(),c.end()); int length_c=c.length(); coutc;}时间复杂度O(n);
一、C和C++的区别: 1、C是面向过程的语言,是一个结构化的语言,考虑如何通过一个过程对输入进行处理得到输出;C++是面向对象的语言,主要特征是“封装、继承和多态”。...2、C和C++动态管理内存的方法不一样,C是使用malloc/free,而C++除此之外还有new/delete关键字。...3、C++支持函数重载,C不支持函数重载 4、C++中有引用,C中不存在引用的概念 二、C++中指针和引用的区别: 1、 指针是一个新的变量,存储了另一个变量的地址,我们可以通过访问这个地址来修改另一个变量...都是动态分配内存的方式 1、malloc对开辟的空间大小严格指定,而new只需要对象名 2、new为对象分配空间时,调用对象的构造函数,delete调用对象的析构函数 3、 既然有了malloc/free,C+...十四、静态绑定和动态绑定的介绍: 静态绑定和动态绑定是C++多态性的一种特性 1)对象的静态类型和动态类型 静态类型:对象在声明时采用的类型,在编译时确定 动态类型:当前对象所指的类型,在运行期决定,
解决cv2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215) s错误当我们使用...OpenCV库的cv2.resize()函数对图像进行缩放操作时,有时候可能会遇到以下错误:cv2.error: C:\projects\opencv-python\opencv\modules...\imgproc\src\resize.cpp:4044: error: (-215) s。...\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215) s错误的发生,并成功进行图像的缩放操作...\src\resize.cpp:4044: error: (-215) s错误时,我们需要仔细检查函数参数的设置是否正确。
Given two integers n and k, return all possible combinations of k numbers out o...
= "") m_sceneLoader->readScene(m_sceneFile.c_str(), m_scene); else return; /////////////...; // swap endianess for (unsigned int i = 0; i < numParticles; i++) for (unsigned int c...= 0; c c++) swapByteOrder(&positions[i][c]); // export to vtk outfile c c++) swapByteOrder(&attrData[i][c]); // export to vtk outfile.write..."; return; } Partio::ParticlesDataMutable* data = Partio::read(fileName.c_str()); if (!
研究生阶段,开始参加实验室的关于文件系统的项目,技术选型采用了C++,到现在硕士快毕业时,项目整体C++代码有三万左右的规模,也算是对C++的初步训练。...另外一方面,因为C++对C语言是兼容的,很多操作系统都能和C++配合使用;所以,C++用户可以直接和操作系统交互。...其将C++11 之前的C++称之为传统C++,之后的C++称之为现代C++,是一个很好的划分。...正文部分: C++ 发展历史 - 早期C++和标准C++ C++ 标准编译器支持情况 参考文献: https://changkun.de/modern-cpp/ https://github.com/changkun.../modern-cpp-tutorial
项目介绍 项目Github地址:https://github.com/eclipse/paho.mqtt.cpp paho.mqtt.cpp是一个用于C++的MQTT客户端库,由Eclipse Paho...它提供了MQTT协议的实现,允许开发者在其C++应用程序中轻松地集成MQTT通信功能。...5.可扩展性和定制性: paho.mqtt.cpp库设计上支持高度的可扩展性和定制性,允许开发者根据项目需求进行扩展和定制,例如定义消息处理方式、设置连接选项等。 2....环境配置 ubuntu源码安装paho.mqtt.cpp: # 依赖paho.mqtt.c git clone https://github.com/eclipse/paho.mqtt.c.git mkdir...g++ -o main main.cpp -lpaho-mqttpp3 -lpaho-mqtt3cs 3.
builder.append(maxLevel); builder.append(" }"); return builder.toString(); } } } c实现...("8 not in sl\n"); for (i = 0; i < 10; i++) { delete(&sl, i); print_sl(&sl); } return 0; } c+...* * 跳表的C++版本.
领取专属 10元无门槛券
手把手带您无忧上云