随笔分类 - C++/C
C++/C学习
摘要:1 什么是lambda表达式? lambda表达式实际上就是一个函数对象。和函数一样可以使用圆括号调用。 只不过这个函数可以定义在代码的任意位置。非常的灵活,自由。 lambda表达式比函数更具有优势的地方在于,它可以将当前作用域中的变量,对象直接拿来使用(灵活)。 示例1:求余数 #include
阅读全文
摘要:cpp编译排除 一个c++文件不需要被编译但还保留在工程中(阅读),可使用ExcludedFromBuild,有两种方法实现: 图形化操作 改vs的项目配置文件 图形化操作 在vs的资源管理器选中文件 - 右键 - 属性 - 切到当前的编译配置项(debug/release),有个选项【从生成中排除
阅读全文
摘要:c++ string初始化的几种方式 相对于C#来说,c++中string的初始化方式真的非常多,比如以下都可以用来初始化string: using namespace std; int main() { string str1 = "test01" ;//直接赋值 string str2( 5,
阅读全文
摘要:在C++中,有多种方式可以将格式化的数据写入一个字符串中,以下是其中的几种方式: sprintf函数 sprintf函数可以将格式化的数据写入一个字符串中,其语法如下: int sprintf(char* buffer, const char* format, ...); 其中,buffer是一个指
阅读全文
摘要:c++中的面向对象 构造函数 与C#一样,可以拥有多个构造函数,但python只有一个构造函数 默认的无参构造函数,可以这样写 classname() = default; 构造函数时初始化变量,建议这样写。对于const或自定义类型必须这样写,而对于内置类型几乎是一样的。 MyClass::MyC
阅读全文
摘要:指针和引用 当我们需要在程序中传递变量的地址时,可以使用指针或引用。它们都可以用来间接访问变量,但它们之间有一些重要的区别。 指针是一个变量,它存储另一个变量的地址。通过指针,我们可以访问存储在该地址中的变量。指针可以被重新分配,可以指向不同的变量,也可以为NULL。指针使用*运算符来访问存储在地址
阅读全文
摘要:extern extern 是 C++ 中的一个关键字,用于声明一个变量或函数是在其他文件中定义的。它的作用是告诉编译器在链接时在其他文件中寻找该变量或函数的定义。 在 C++ 中,如果一个变量或函数在多个文件中使用,那么就需要在每个文件中都声明一次该变量或函数。这时就可以使用 extern 关键字
阅读全文
摘要:宏的一些作用,包括但不限于这些 1. 定义一个变量、字符串、类型 2. 定义一个函数、条件表达式 3. 条件编译、调试信息,异常类 4. 定义结构体、命名空间 5. 定义模版、枚举、函数对象 `#define`宏定义在C++中用于定义常量、函数、条件编译、字符串、条件表达式、变量、注释、调试信息、类
阅读全文
摘要:通过gcc或msvc,clang等编译器编译出来的C++源文件是.o文件。在windows上也就是PE文件,linux为ELF文件,在这一步中,调用其它代码文件中的函数的函数地址是未知的(00000),等到链接之后才会替换掉函数地址的 [linux,windows 可执行文件(ELF、PE)](ht
阅读全文
摘要:## 预编译头文件 在 Visual Studio 中创建新项目时,会在项目中添加一个名为 pch.h 的“预编译标头文件”。 (在 Visual Studio 2017 及更高版本中,该文件名为 stdafx.h)此文件的目的是加快生成过程。 应在此处包含任何稳定的标头文件,例如标准库标头(如 )
阅读全文
摘要:## 为什么要升级msvc++工程版本 对msvc++工程进行vs版本升级,一方面是可以使用较新的C++标准及对64位更好的支持。 首先你需要对msvc++ project文件有一定的了解,主要是vcxproj和vcxproj.filter这两个文件,升级的时候需要手动修改sln和vcxproj文件
阅读全文
摘要:## vs中创建Filter 在一个新项目中右键 - Add - New,默认只有一选项 New Filter。 创建出来的Filter可以理解为是VS的过滤器(虚拟目录),它不会在本地的磁盘上新建目录,而是修改了.filters文件,把这种目录关系记录在.filters文件中。 
浙公网安备 33010602011771号