创建命名空间:
- 形式:namespace myNamespace{ //stuff }
- 注意:在最末尾右花括号的后面不需要加上分号。
- 1) 在预处理器指令的后面、类声明的前面,开始定义命名空间;
2) 类声明和类实现应该放在同一个命名空间里;
3) 只能在全局范围或另一个命名空间的内部定义一个命名空间(命名空间可以嵌套),不能在函数或类里定义命名空间;
4) 可以把任何东西放到命名空间里,而不仅仅是类;还可以用 namespace 关键字为现有的命名空间创建别名,比如,
namespace dog = reallyLongDogBasedNamespace;
使用命名空间
1) using namespace std; cout << “Hi”;
2) using std::cout; cout << “Hi”;
3) std::cout << “Hi”
返回指针的函数
指针作为函数的返回值
如果函数需要返回一个字符串,我们可以返回(char*)类型字符串,不要使用字符数组,因为字符数组在函数执行结束后,就释放了。而使用(char *)声明的字符串是存储在数据段的,直到程序执行结束才会释放。
#include <stdio.h>
#include <stdlib.h>
char *getWeekDay(int day)
{
return "星期N";//返回的是字符串在数据段(常量区)中的地址
}
int main(){
char *weekDay = getWeekDay(2);
return 0;
}
指向函数的指针
可以用指针指向函数,语法:返回值类型 (*指针名)(【参数列表】);
1.函数的地址就是函数名。
2.指向函数的指针变量,本质上还是一个变量,那么我们就可以声明、赋值给另外一个同类型的指针变量使用。
无参无返回值
#include <stdio.h>
voidtestFunction()
{
printf("这是一个无参无返回值的函数\n");
}
intmain(intargc,constchar*argv[]){
//指针指向函数
void(*pFunction)()=testFunction;//存储没有返回值没有参数的地址,函数名就是函数的地址
//指针调用函数
(*pFunction)();
pFunction();//简写
return0;
}
有参有返回值
#include <stdio.h>
int getSum(int num1,int num2)
{
return num1 + num2;
}
int main(int argc, const char * argv[])
{