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

来源:互联网 发布:淘宝菜鸟驿站没有了 编辑:程序博客网 时间:2024/05/17 06:31

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;}
在这里,如果函数有默认的参数,如果接收的参数少于规定的参数个数,则未给出参数的形参将被赋予默认值 。

0 0
原创粉丝点击