【初级】C++ Primer Plus
C++ Primer Plus
DFminer
一步一步来
展开
-
【C++】动态内存分配
堆是计算机内存的一部分,用于存储数据结构、对象和变量,这些数据结构、对象和变量的大小或生存期在运行时确定。像C、c++这样的编程语言和类似的语言通过' malloc '、' calloc '和' realloc '等函数提供动态内存分配机制。但是,动态内存分配的不当使用可能导致内存泄漏(不再需要的内存没有被正确释放),或者导致缓冲区溢出和碎片等问题。与静态内存分配不同,静态内存分配是在编译时分配的,并且在整个程序执行过程中保持固定,动态内存分配允许程序在运行过程中根据需要请求和释放内存。原创 2023-08-23 20:16:59 · 48 阅读 · 0 评论 -
【C++】2. 程序生成
链接:将目标文件与库文件的目标文件捆绑起来,形成可执行文件。文件——新建项目——选择Win32控制台程序——空项目。在VS2017下——点击 菜单——点击 生成解决方案。添加源文件有俩个方法:选择新建项;编译:把源文件翻译成机器语言,称为目标文件。C++的源文件,后缀名为 .cpp。调试 或者 开始执行不调试。生成可执行文件.exe。原创 2023-08-23 20:15:15 · 197 阅读 · 0 评论 -
【C++】指针简介
就取决于你这个单元里面保存的是什么类型的数据,比如这个内存单元里保存的是一个字符,那我读一个字节就可以了。如果我读的是一个整型int类型的数, 在我的编译器里int占四个字节,那我就从这个地址开始读四个字节的内容。所以通过指针间接访问的时候,我们必须知道这个单元里保存的是什么类型的数据,我们才可以知道读几个字节的内容。所以你要访问这个变量里面保存的地址里面的内容的时候,你从这个地址开始要读四个字节出来,然后把这四个字节的内容解析成一个整型数。这个变量里面保存的是一个内存地址 ,它是一个指针。原创 2023-08-23 20:12:16 · 36 阅读 · 0 评论 -
【C++】进入C++
int main()括号里是参数流。C++用名字空间解决“二义性”原创 2023-08-23 20:12:59 · 35 阅读 · 0 评论 -
【C++】11.数组
数组中的每个元素都由索引标识,索引是一个数值,表示元素在数组中的位置。如果你需要一个动态调整大小的集合,你可以考虑使用其他数据结构,比如列表(在Python中)或动态数组(在Java的' ArrayList '或c++的' std::vector '等语言中)。在许多编程语言中,包括C、c++、Java、Python等,数组是通过指定数组所包含元素的数据类型及其大小(元素数量)来定义的。然而,数组的大小是固定的,这意味着您需要提前知道元素的最大数目。1. 访问元素:可以使用数组的索引访问元素。原创 2023-08-24 15:35:32 · 102 阅读 · 0 评论 -
【C++】40.函数参数的默认值
函数实参的默认值是许多编程语言中的一个特性,它允许您为函数的参数分配默认值。在上面的例子中,' greet '函数的' message '参数的默认值为"Hello"。2. 顺序问题:调用函数时,如果你想跳过一个有默认值的参数,你可以使用参数的名称来指定后面参数的值。当您想要更改位于参数列表末尾的参数的默认值时,这尤其有用。5. 明确文档:当使用默认值时,确保你的函数文档清楚地指出哪些参数具有默认值以及这些默认值是什么。您可以省略某些参数以使用其默认值,或者您可以仅为您关心的参数提供值。原创 2023-08-24 15:53:07 · 123 阅读 · 0 评论 -
【C++】BOOST 智能指针
shared_ptr支持强制类型转换,如果定义了一个U能够强制转换到T(因为T是U的基类),那么shared_ptr也能够强制转换到shared_ptr。目前已成为tr1标准的一部分,发展自原始的auto_ptr,内置引用计数。引用指针计数器记录有多少个引用指针指向同一个对象,如果最后一个引用指针被销毁的时候,那么就销毁对象本身。实际上,智能指针赋值拷贝的同时,引用计数也加1了。在默认析构函数也是如此,析构函数执行之后,会调用类A的析构函数,检查引用计数都为0后,会delete掉这个int。原创 2023-08-24 15:29:05 · 55 阅读 · 0 评论 -
【C++】5 . 函数入门
同理,其他程序员写的包,或者一些软硬件厂商提供的产品,会让我们添加一些依赖,这些“依赖”其实就是包。2. 函数定义:创建一个函数,你需要指定它的名字,参数(如果有的话),以及一组在函数被调用时要执行的指令或语句。10. 函数重载(在某些语言中):一些编程语言支持函数重载,它允许您定义具有相同名称但不同参数列表的多个函数。7. 作用域:函数有自己的作用域,这意味着函数内部定义的变量通常与函数外部定义的变量是分开的。9. 用户定义函数:除了内置函数之外,您还可以创建自己的函数来执行与程序逻辑相关的特定任务。原创 2023-08-24 15:38:35 · 39 阅读 · 0 评论 -
【C++】8.const与符号常量
值得注意的是,在现代编程中,const的使用比符号常量更受欢迎,因为const提供了类型检查,并且具有更清晰的作用域,使其更易于维护,更不容易出错。它们不是实际的变量,而是在编译的预处理阶段被它们的值所替换。这里,' PI '是一个符号常数,在预处理期间,整个代码将被值' 3.14159265 '替换。在c++中,您还可以使用' constexpr '关键字来创建编译时常量,从而提供更大的灵活性和优化机会,同时仍然确保类型安全和清晰度。符号常量:有意义的常量,有名字的常量,比如“光速c”,‘圆周率π’原创 2023-08-23 20:21:40 · 222 阅读 · 0 评论 -
【C++】C++语句变量与赋值
再执行x = y = z ,其中先执行y = z。会先执行 z = 0。>> 和 << 表示信息的流入方向。右结合:x = y = z = 0。总之0先赋给z,再给y,再给x。carrots 是变量。原创 2023-08-23 20:14:23 · 60 阅读 · 0 评论 -
【C++】14.结构简介
结构类型:比如:描述一个人;描述一本书。我们要告诉C++,我们的结构包括什么——这就叫做。当我们声明了之后呢,就相当于我们有了一种新的结构类型,以后我们要描述这个类型的变量,就可以去。有了这个类型之后我们就可以。这里我们定义了book类型。后面的花括号里是这种类型有几种部分组成。建立了这样的声明之后,相当于我们在C++里加了这样一个类型,这个类型就叫做book。里面有书名,我们用char类型表示;有author,我们也用char类型表示;还有value,我们用float类型表示。原创 2023-08-23 20:17:21 · 63 阅读 · 0 评论 -
【C++】10.算术运算符
然后在输出语句之前插入cout sizeof(ff*dd)= 8。float 的精度是7位。double精度可以保证15位。但是默认float和double都只能显示6位小数部分,再多需要#include ,原创 2023-08-24 16:03:52 · 63 阅读 · 0 评论