1 作用域:
变量在程序中的起作用范围简单分为:全局作用域、局部作用域、语句作用域作用域优先级: 范围越小优先级越高作用域运算符:“::”
如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::” ,“::”称为作用域运算符。变量的作用域是一个非常重要的概念
在C++中,结构名、联合名(共用体名)、枚举名都是类型名。如:
enum bool{FALSE,TRUE};
struct string{
char *prt;
int length;
};
在C中:
enum bool done;
struct string str;
在C++中:
bool done;
string str;
指向常量的指针变量
const char *p_name = “chen”;
以下语句:
p_name[2]=’a’; //错误
p_name=“zhang”; //正确
常(量)指针:
如: char * const p_name = name1;
以下语句:
p_name[2]=’a’; //正确
p_name=“zhang”; //错误
在函数说明前冠以关键字“inline”,则该函数就被声明为内联函数。
每当程序中出现对该函数的调用时,C++编译器使用函数体内的代码替代函数调用表达式
使用内联函数替代宏定义,可以消除宏定义的不安全性。
C++在声明函数原型时,可为一个或多个参数指定缺省参数值,以后调用此函数,若省略其中某一参数,C++自动地以缺省值作为相应参数的值
。例如函数原型说明为:
int special(int x=5,float y=5.3);
当进行函数调用时,可以有以下几种形式:
1) special(100,79.8); // x=100,y=79.8
2) special(25); // x=25,y=5.3
3) special(); // x=5,y=5.3
说明:
只能在声明时设置默认参数
缺省参数都必须是从右到左定义
如:int fun(int i,int j=5,int k);//错误,k未使用
调用时实参对形参的初始化必须是从左向右的
在传统的C语言中,函数名必须是唯一的,也就是说不允许出现同名的函数。当要求编写求整数、浮点数和双精度的平方数的函数时,若用C来
实现必须编写三个函数:
iSquare(int x)
fSquare(float x)
dSquare(double x)
在C++中用户可以重载函数,即只要函数参数的类型不同,或者参数的个数不同,或者二者兼而有之,两个或两个以上的函数可以使用相同的函
数名。
阅读(731) | 评论(0) | 转发(0) |