杂记4

0. switch

  switch()这个括号里面的数据必须是整型值

1. goto 语句使用形式

  flag:....

        ......;

......

goto flag;

这里需要注意的一点是,goto语句只能放在本函数内使用,不能跳转到其他的函数中去。

2. EOF

  文件结束标志,请看下面的一小段代码

 

#include<stdio.h>
#include<windows.h>

int main()
{
	char ch = 0;
	while ((ch = getchar()) != EOF)
		putchar(ch);
	system("pause");
	return 0;
}

这段代码的作用是,每次输入一个字符,打印一个字符,输入一段字符打印一段字符,直到输入EOF时程序结束,这里的EOF是通过键盘的Ctrl+Z结束的

这里注意的一个点就是使用getchar(ch),来获取一个字符的时候,这里的ch尽量定义成int类型的。

3. fflush

getchar函数会从缓冲区中读取信息,但是我们有时候是不需要缓冲区中剩余的信息的,比如我们在上次输入完成后,输入一个字符之后,需要按一个回车,这时前一个字符被拿走,但是缓冲区中还有回车这个字符,在下次输入的时候很容易就出现错误,为了防止这个问题我们可以使用fflush()这个函数,用来清空缓冲区。这里使用fflush时使用fflush(stdin),表示刷新输入设备,fflush(stdout),表示刷新输出设备

4. C++闪退

直接在代码return 0;语句之前加上system("pause");不需要引头文件#include<windows.h>

5.类实例化对象内存问题

在C++ 中用类实例化一个对象之后,这个对象开辟的存储空间的方式也是按照C语言中结构体的方式进行的,如果类中或者结构体中没有定义任何变量,则这个空间的大小是1

6.类体外定义类的成员函数

在类体外定义类的成员函数时注意,比如我这里有一个Complex类,这里在类体内声明了一个void show();函数,然后我在类体外实现的时候需要使用void complex::show(){.....},这里需要强调的一点就是,在类体外定义函数的时候需要把类的返回值类型放在前面。容易出错的一个点就是,如果我们的返回值类型就是一个类的对象,比如类体内声明了一个函数,Complex Setdata();,然后我在类体外实现的时候需要使用下面的方式Complex Complex::Setdata(){......},第一个Complex是函数的返回值类型,第二个Complex是声明类域。

7.不能重载的运算符

  C++中不能重载的运算符有.*/sizeof/?:/::/.   这五个运算符不能重载

8. 在c++代码中使用new与delete和new[]与delete[]的时候要成对的出现

9. 全局变量和静态变量

 全局变量是定义在任何函数之外的变量,它的作用是全局的,直到函数结束后消失,另外它的链接属性是可以被其他的源文件使用,只需要在其他的源文件中使用extern ..之后其他的源文件就可以使用它了。如果是静态全局变量,它的链接属性就改变了,它只能被本源文件使用,而不能被其他的源文件使用,即使使用extern也不行。而局部变量只能在本函数中使用,出了这个函数,这个变量就自动的消失了,但是静态的局部变量的作用域是本函数中使用,但是它不会消失,直到下次程序进来这个变量还保留着原来的值,直到整个程序退出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值