您的位置:首页 > 编程语言 > C语言/C++

《C++Primer》读书笔记(5)

2015-04-14 13:33 176 查看
1.switch语句,有时我们可以故意不使用break语句,达到想要的效果。

但是遇到这种情况最好要写一段注释,说明一下。

正常情况下还是要写break语句的,漏写会引发很严重的后果。

2.局部静态变量,在函数内部定义一个static变量,函数终止之后,这个局部的静态变量仍然有效。

静态变量如果不初始化,会默认初始化为0。

3.在循环中,如果其中有return时,需要在循环之后也加上return语句,这点平时经常容易忽略。如果循环没有进行,则无法进行正常return。

4.返回值如果是函数中定义的变量,应该是存于堆内存的,否则会在函数结束后销毁,导致错误。

5.返回数组

C++没有返回数组的操作,但是数组其实可以看成指针,使用指针将数组首地址传递回去。

指向指针的数组如是定义: int (*p) [10] = &arr;

则返回指向数组的指针的函数如是定义: int (* func(argu...))[10],返回一个指向大小为10的int型数组的指针

6.函数的默认参数

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

void defalutArguFunc(int num = 100, int index = 200);

int _tmain(int argc, _TCHAR* argv[])
{
	int a, b;
	cin>>a;
	cin>>b;
	defalutArguFunc(a);
	getchar();
}

void defalutArguFunc(int num, int index)
{
	cout<<num<<endl;
	cout<<index<<endl;
}
在这里,如果函数有默认的参数,如果接收的参数少于规定的参数个数,则未给出参数的形参将被赋予默认值 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: