学习C++笔记和使用VS过程中遇到的问题合集(一)

最近开始学习数据结构和c++相关内容,随手记下一些报错、警告和一些知识点,若有错误还望朋友们多多指教!

1、

#include <iostream.h>

报错:无法打开包括文件“iostream.h”

原因:版本问题,98年之后版本都不加.h

解决办法:

#include <iostream>

2、报错:“cout”“endl”未声明的标识符

原因:没有声明命名空间

解决办法:使用标准命名空间,常用的函数都在std内

using namespace std;

3、缺省:系统默认状态

4、类的继承访问特性

基类的访问特性类的继承特性派生类的访问特性

Public

Protected

Private

Public

Public

Protected

No access

Public

Protected

Private

Protected

Protected

Protected

No access

Public

Protected

Private

Private

Private

Private

No access

5、作用域标识符(::):表示某个成员属于哪个作用域

6、引用与指针

引用:变量a和b指向同一块内存,b相当于a的一个别名

int a = 3;
int &b = a;

指针:pA存储的是a的地址,但本身在另一块内存中

int a = 3;
int *pA = &a;

7、函数是否实现要看有没有{},而不是看{}里有没有内容,没有内容叫空实现

8、报错:C4018:有符号无符号不匹配

解决办法:将int变量修改为unsigned int变量即可

9、警告:取消对NULL指针“…”的引用  或者  “…”可以是0

原因:若指针为空,可能会导致内存泄露或异常

解决办法一:用assert()检查该指针,记得加上头文件

#include <assert.h>

解决办法二:直接用if判断一下该指针是否为NULL,若不是则直接执行下面的代码

10、警告:写入“…”时缓冲区溢出

解决办法:将指针变量p[i]改成*(p+i)

11、memset()函数,初始化函数,将某一部分全部设定成指定的值,可以进行较快的清零操作

12、visual studio批量加注释:选中代码,按Ctrl+K+C

撤销注释:选中代码,按Ctrl+K+U

或者VS右上方工具栏按键,下图所示中间两个

 13、换行

endl:进行缓冲区的更新,效率比\n要低

\n:效率较高,加单引号双引号没区别,单引号处理的是字符,双引号处理的是字符串所以双引号会稍慢

14、有空头链表和无空头链表

struct Node stHead;
//stHead是实例对象,是一个完整的空间
struct Node* pHead;
//指针变量,需要指向空间

未完待续哦~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值