02 2020 档案
摘要:浅谈C++三种传参方式 C++给函数传参中,主要有三种方式:分别是 值传递、指针传递和引用传递。 下面通过讲解和实例来说明三种方式的区别。 值传递 我们都知道,在函数定义括号中的参数是形参,是给函数内专用的局部变量,意味着函数接收到的是实参的副本,如果形参的值在函数内部被改变, 对实参是没有影响的
阅读全文
摘要:C++ delete报错 今天写了如下代码 编译没有报错,但是运行的时候报错了。原因是delete语句。 出错现象: 执行delete语句时,程序卡死。将delete注释掉,程序运行正常,但是发生了内存泄漏。 原因: p作为指向堆内存的指针,指向的是数组的首地址。而我更改了p的地址,如代码中的p++
阅读全文
摘要:C++模板心得 我开始学模板的时候一脸懵逼,真的看不懂模板是怎么作用的。因为大多数人的代码把模板声明和函数、类的声明分行写,让我以为模板的作用是全局的,实际上应该像如下理解。 函数模板 模板类 template 和 template 没有区别(除了在套娃的时候) 在头文件中定义模板类时,在实现时要写
阅读全文
摘要:C++不被继承的内容 派生类会继承基类所有的方法和变量, 除了 : 构造函数,析构函数 重载运算符 友元函数 注意,私有成员是被继承了的,只是无法访问。我们可以通过sizeof判断出来。下面附一张清晰的图
阅读全文
摘要:区分C++和Java的this 今天早上写C++程序的时候,我习惯性地在程序中写了如下代码 编译器给我无情地报错了。后来想想,发现是自己基础不牢的问题,拍拍脑袋写下来了这篇博文。 上面的写法,Java程序员肯定不陌生。 this 关键字用于在类的内部访问内部成员,调用内部对象。C++同样也用 thi
阅读全文
摘要:C++类的成员初始化 学到一个类的成员初始化,目前已知的用途是给类内部的const类型变量进行赋值。 首先,如果像这么干,编译器会报错。 这样做会报错的原因是,构造器内部的代码只有在类被实例化时才会运行。所以我先定义了一个const类型的整型数,这个数字原则上是不可以改变的,这是不可以被改变的,所以
阅读全文
摘要:C++友元函数和友元类 今天学到一个特别有意思的东西,甚至是C++独有的东西,叫做 友元函数 。类的友元函数是定义在类外部,但有权访问类的所有 私有(private) 成员和 保护(protected) 成员。尽管友元函数的原型有在类的定义中出现过, 但是友元函数并不是成员函数。 友元可以是一个函数
阅读全文
摘要:入门范围解析运算符 这里搬运一下微软官方对C++范围解析运算符的使用 "原文链接" 范围解析运算符 :: 用于标识和消除在不同的作用域中使用的标识符。 语法 备注 可以是变量、函数或枚举值。 具有命名空间和类 以下示例显示范围解析运算符如何与命名空间和类一起使用: 没有范围限定符的范围解析运算符表示
阅读全文
摘要:浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮。经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能、分门别类展开的文件构成的。一锅乱煮只会导致代码可读性差、维护性差。但是本人在学习C++的时候,被这章节弄混了。 Source &
阅读全文

浙公网安备 33010602011771号