C++
WYYwyy1111
这个作者很懒,什么都没留下…
展开
-
pybind11
example://example.cpp#include <pybind11/pybind11.h>namespace py = pybind11;int add(int i, int j) {return i + j;}//example是包的名称,add是包中函数的名称//PYBIND11_MODULE是一个宏,m是py::module类型PYBIND11_MODULE(example, m) {m.doc() = "pybind11 example plugin"原创 2020-11-26 13:07:30 · 8135 阅读 · 0 评论 -
CMake
1.CMake:CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。2.简单样例首先让我们从最简单的代码入手,先来体验下cmake是如何操作的。编写main.cpp,如下,然后在main.cpp相同目录下编写CMakeLists.txt,内容如下,第一行意思是表示cmake的最低版本要..原创 2020-11-26 13:04:43 · 325 阅读 · 0 评论 -
cmake与make的区别
GCCgcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。当你的程序只有一个源文件时,直接就可以用gcc命令编译它。gcc 与 g++ 分别是 gnu 的 c & c++ 编译器 gcc/g++ 在执行编译工作的时候,总共需要4步:(1)预处理,生成 .i 的文件[预处理器cpp](2)将预处理后的文件转换成汇编语言, 生成文件 .s原创 2020-11-26 12:43:53 · 582 阅读 · 0 评论 -
virtual和abstract的区别
virtual和abstract都是用来修饰父类bai的,通du过覆盖父类的定义zhi,让子类重新定义。dao(1)virtual修饰的方法4102必须有实现(哪怕是仅仅添加一1653对大括号),而abstract修饰的方法一定不能实现。(2)virtual可以被子类重写,而abstract必须被子类重写。(3)如果类成员被abstract修饰,则该类前必须添加abstract,因为只有抽象类才可以有抽象方法。(4)无法创建abstract类的实例,只能被继承无法实例化。...原创 2020-09-04 21:52:41 · 327 阅读 · 0 评论 -
c++编译 (.obj, .lib, .dll, .exe的关系(附:lib和DLL的区别))
转载原网址c++程序在编译后,在目标路径下会生成多个文件:Debug文件夹(*.exe,*.ilk,*.obj,*.pch,*.pdb,*.idb,*,pdb),*.cpp,*.dsp,*.ncb,*.plg*.exe:是生成的可执行文件*.ilk:当选定渐增型编译连接时,连接器自动生成ILK文件,记录连接信息*.obj:是目标文件,源程序编译后的产物*.pch:全称是PreCompiled Header,就是预先编译好的头文件*.idb:文件保存的信息,使编译器在重新编译的时候只重编译最新转载 2020-06-24 11:02:15 · 5844 阅读 · 0 评论 -
第七章 指针、数组与引用
#include <iostream>#include <cstdint>#include <string.h>#include <vector>int a_function(char* a ){ return 1;}int main() { char c='a'; char*p=&c; int ...原创 2020-04-22 16:18:44 · 211 阅读 · 0 评论 -
const总结
class GuidPrefix : public SubmessageElement {public: GuidPrefix(const octet* guidPrefix); //todo 是否需要析构函数 ~GuidPrefix(){}; size_t serialize(octet *buf, size_t max_length, bool isB...原创 2020-03-05 17:18:18 · 282 阅读 · 0 评论 -
全变大写
#include <algorithm>transform(connectionType_.begin(), connectionType_.end(), connectionType_.begin(), (int (*)(int))toupper);原创 2020-01-11 11:06:03 · 744 阅读 · 0 评论 -
读取String类型0x11,0x12赋值给char
#include <iostream>#include<vector>int ATOI(const char* str);void Trim(std::string& value);void SplitNumsByStr(const char* s, std::vector<unsigned char >& v);struct Ty...原创 2020-01-11 11:04:52 · 671 阅读 · 1 评论 -
C++随堂笔记(c_str()的用法详解)
c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针//标准库的string类提供了三个成员函数来从一个string得到c类型的字...原创 2019-09-24 10:39:44 · 463 阅读 · 0 评论 -
C++:tinyxml 语言使用
TiXmlElement *root = doc.FirstChildElement(); 获取根节点元素;TiXmlElement *NameElement = root->NextSiblingElement();查找本Element的下一个Element;QString ElementName = root->Value(); //获取元素名...原创 2019-09-19 09:39:40 · 2308 阅读 · 0 评论 -
C++:tinyxml的使用
1. 简介TinyXML2(最新版本)是一个开源的功能齐全的XML解析库 For C++2. 开始使用首先从Github上获得源码,是一个完整的演示工程,我们只需要其中的tinyxml2.cpp和tinyxml2.h,将这两个文件拷贝到新建的工程目录下。在下面连接中下载tinyxml。https://github.com/leethomason/tinyxml23. 写...原创 2019-09-18 15:26:46 · 7205 阅读 · 0 评论 -
.XML是什么文件?
XML是一种格式,XML的前身是标准通用标记语言,是自IBM从60年代就开始发展的通用标记语言。它是一种简单的数据存储语言。使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然可扩展标记语言占用的空间比二进制数据要占用更多的空间,但可扩展标记语言极其简单易于掌握和使用。XML的宗旨传输数据的,而与其同属标准通用标记语言的HTML主要用于显示数据。事实上XML与其他数据表现形式...原创 2019-09-18 15:11:35 · 1971 阅读 · 0 评论 -
C++ 尽量不要使用using namespace std
C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。如果我们使用了using namespace std,而且我们在自己的程序中定义了一个函数toupper()...原创 2019-08-02 14:35:36 · 2520 阅读 · 0 评论