公司网站的宣传栏怎么做,网站建设先进部门评选标准,怎么创建网站app,邮箱域名和网站域名希望你开心#xff0c;希望你健康#xff0c;希望你幸福#xff0c;希望你点赞#xff01; 最后的最后#xff0c;关注喵#xff0c;关注喵#xff0c;关注喵#xff0c;大大会看到更多有趣的博客哦#xff01;#xff01;#xff01; 喵喵喵#xff0c;你对我真的… 希望你开心希望你健康希望你幸福希望你点赞 最后的最后关注喵关注喵关注喵大大会看到更多有趣的博客哦 喵喵喵你对我真的很重要 目录
前言
C关键字总览后面细说
命名空间 命名空间的定义
命名空间的使用
C的输入与输出
缺省参数
函数重载
定义
引用
内联函数
总结 前言 废话不多说我们冲冲冲 C关键字总览后面细说 命名空间 在C/C中变量、函数和后面要学到的类都是大量存在的这些变量、函数和类的名称将都存在于全局作用域中可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化以避免命名冲突或名字污染namespace关键字的出现就是针对这种问题的。 命名空间的定义 定义命名空间需要使用到namespace关键字后面跟命名空间的名字然后接一对{}即可{}中即为命名空间的成员。 // 命名空间中可以定义变量/函数/类型
namespace miao
{
int rand 10;int Add(int left, int right)
{
return left right;
}struct Node
{
struct Node* next; int val;
};//也可以嵌套
namespace N1
{
int a; int b;
int Add(int left, int right)
{
return left right;
}namespace N2
{
int c; int d;
int Sub(int left, int right)
{
return left - right;
}
}
}//同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
//多个文件有相同命名空间将会合并。 命名空间的使用 命名空间中可以定义变量/函数/类型 命名空间的三种用法 加命名空间名称及作用域限定符 int main()
{printf(%d\n, N::a);return 0;
}加命名空间名称及作用域限定符 using N::b;int main(){printf(%d\n, N::a);printf(%d\n, b);return 0;}使用using namespace 命名空间名称 引入 using namespce N;int main(){printf(%d\n, N::a);printf(%d\n, b);Add(10, 20);return 0;}C的输入与输出
#includeiostream
// std是C标准库的命名空间名C将标准库的定义实现都放到这个命名空间中
using namespace std;
int main()
{
coutHello world!!!endl;
return 0;
}cout标准输出对象(控制台) cin标准输入对象(键盘) 是流插入运算符是流提取运算符 缺省参数 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时如果没有指定实参则采用该形参的缺省值否则使用指定的实参。 全缺省参数半缺省参数 注意 半缺省参数必须从右往左依次来给出不能间隔着给省参数不能在函数声明和定义中同时出现 缺省值必须是常量或者全局变量 C语言不支持编译器不支持 注意如果声明与定义位置同时出现恰巧两个位置提供的值不同那编译器就无法确定到底该用那个缺省值。 函数重载
定义 函数重载是函数的一种特殊情况C允许在同一作用域中声明几个功能类似的同名函数这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同常用来处理实现功能类似数据类型不同的问题。 #includeiostreamusing namespace std; 3// 1、参数类型不同int Add(int left, int right){cout int Add(int left, int right) endl; 8return left right;}double Add(double left, double right){cout double Add(double left, double right) endl; 15return left right;}// 2、参数个数不同void f(){cout f() endl;}void f(int a){cout f(int a) endl;}// 3、参数类型顺序不同void f(int a, char b){cout f(int a,char b) endl;}void f(char b, int a){cout f(char b, int a) endl;}int main(){Add(10, 20);Add(10.1, 20.2);f();f(10);f(10, a);f(a, 10);return 0;
} 引用 引用不是新定义一个变量而是给已存在变量取了一个别名编译器不会为引用变量开辟内存空间它和它引用的变量共用同一块内存空间。也就是外号都是那个人 类型 引用变量名(对象名) 引用实体 void TestRef()
{
int a 10;
int ra a;//定义引用类型
printf(%p\n, a);
printf(%p\n, ra);
} //引用类型必须和引用实体是同种类型的 //引用不能引用常量 //引用可做参数也可做返回值。 内联函数 以inline修饰的函数叫做内联函数编译时C编译器会在调用内联函数的地方展开没有函数调用建立栈帧的开销内联函数提升程序运行的效率。 inline是一种以空间换时间的做法如果编译器将函数当成内联函数处理在编译阶段会用函数体替换函数调用缺陷可能会使目标文件变大优势少了调用开销提高程序运行效率 inline对于编译器而言只是一个建议不同编译器关于inline实现机制可能不同一般建议将函数规模较小(即函数不是很长具体没有准确的说法取决于编译器内部实现)、不是递归、频繁调用的函数采用inline修饰否则编译器会忽略inline特性 总结 挖个坑喵喵想写预处理编译汇编链接这一套程序运行的解析博客。嘻嘻 希望你开心希望你健康希望你幸福希望你点赞 最后的最后关注喵关注喵关注喵大大会看到更多有趣的博客哦 喵喵喵你对我真的很重要