当前位置: 首页 > news >正文

深圳做微信网站制作企业网络专线

深圳做微信网站制作,企业网络专线,wordpress node.js,模板免费下载二、从C到C 本章介绍一些C拓展的非面向对象功能。 引用#xff08;掌握#xff09; 1.1 概念 引用从一定程度上讲是一个指针的平替#xff0c;几乎被所有面向对象编程语言所使用。引用相当于对某一个目标变量起”别名“。 操作引用与操作原变量完全一样。 #include iost… 二、从C到C 本章介绍一些C拓展的非面向对象功能。 引用掌握 1.1 概念 引用从一定程度上讲是一个指针的平替几乎被所有面向对象编程语言所使用。引用相当于对某一个目标变量起”别名“。 操作引用与操作原变量完全一样。 #include iostreamusing namespace std;int main() {int a  1;// b是a的引用int b  a;    cout  a     a  endl; //1 0x61fe88cout  b     b  endl; //1 0x61fe88return 0; }1.2 引用的性质 可以改变引用的值但是不能再次成为其他变量引用。 #include iostreamusing namespace std;int main() {int a  1;// b是a的引用int b  a;int c  3;b  c; // 3 只是赋值不是引用b还是a的引用    cout  a     a  endl; //3 0x61fe88cout  b     b  endl; //3 0x61fe88cout  c     c  endl; //3 0x61fe84return 0; }声明引用的时候必须要初始化。 #include iostreamusing namespace std;int main() {int a  1; //    int b; // 错误 引用必须要初始化。    cout  a     a  endl; //3 0x61fe88    return 0; }声明引用的时候不能初始化为null #include iostreamusing namespace std;int main() {int a  1;// int b  nullptr; // 错误引用不能初始化为null //    int b  null;cout  a     a  endl; //3 0x61fe88    return 0; }声明引用的时候初始化的值可以是纯数值但是此时要用const关键字修饰引用表示该引用为常量引用这样引用的值不可变。 #include iostreamusing namespace std;int main() {const int a  1;   // 常量引用// a  2; // 错误常量引用的数值不能被改变    cout  a     a  endl; //3 0x61fe88    return 0; }可以将变量引用的地址赋值 给一个指针此时指针指向的还是原来的变量。 #include iostreamusing namespace std;int main() {int a  1;int b  a;int *c  b;    cout  a     a  endl; // 1 0x61fe84cout  b     b  endl; // 1 0x61fe84cout  *c     c  endl; // 1 0x61fe84    return 0; } 可以使用const修饰引用此时如果原变量的值改变了引用的值也会改变。 #include iostreamusing namespace std;int main() {int a  1;const int b  a;a; //    b;  // 错误的b是只读的    cout  a     a  endl; // 2 0x61fe84cout  b     b  endl; // 2 0x61fe84    return 0; } 1.3 引用的参数 写一个函数函数有两个参数a和b函数 的功能是交换两个传入的参数【原来】变量的值。 #includeiostream #include string.h using namespace std;// 只是test1内部进行相互交换了 // 不符合需求 void test1(int a,int b) {int t  a;a  b;b  t; }// C语言的指针 void test2(int *a,int *b) {*a  *a^*b;*b  *a^*b;*a  *a^*b; }// C 编程方式 void test3(int a,int b) {a  a^b;b  a^b;a  a^b; }int main() {int a  1;int b  2;test3(a,b);cout  a  endl;cout  b  endl;return 0; } 引用作为参数进行定义的时候在参数传递时是不会产生副本的这样会提高运行效率我们在正常编程中建议使用引用作为参数进行传递。 引用参数在不参与计算的情况我们建议使用const进行修饰。以达到引用安全的目的。 赋值熟悉 通常编程当中使用进行赋值操作C新增了新的赋值语法。 #includeiostream #include string.h using namespace std;int main() {int a(1); // int a  1;cout  a  endl;int b(a); // int b  a;cout  b  endl;int c(ab); // int c  a  b;cout  c  endl; // 2return 0; }C11里对上述写法又进行了升级 #includeiostream #include string.h using namespace std;int main() {double b  3.14;int b1  b;int b2(b);int b3{b};  // C11新增的 对数据窄化做出警告    cout  b1  endl; // 3 数据窄化cout  b2  endl; // 3 数据窄化cout  b3  endl; // 3 数据窄化return 0; } 键盘输入掌握 可以使用cin把用户在命令行中输入的内容赋值到变量中。 cin与cout一样都属于头文件iostream中标准输入输出流。 #includeiostream #include string.h using namespace std;int main() {int a;// C 的字符串是stringstring str;    cout  请输入一个数字和字符串:  endl;cin  a  str ; // 接收键盘输入一个整数和一个字符串,可以连续输入。cout  a  endl;cout  str  endl;return 0; } string 字符串类掌握 string 不是C的基本数据类型他是一个C标准库中的字符串类使用时需要引入头文件#includestring而不是string.h string在绝大多数情况下可以替代C语言中字符串不必担心内存是否足够和字符串长度等其中内部还包含了很多字符串处理函数可以完成各种情况下的字符串处理功能。 string和C语言相同字符串编码使用ASCII编码不支持中文。 #includeiostream using namespace std;int main() {string str  helloworld;cout  str.size()  endl; // 10字符串长度cout  str.length()  endl; // 10字符串长度    cout  str[1]  endl; // ecout  str.at(5)  endl; // w    return 0; } 两种方式都可以但是在C中更推荐你使用at函数。原因时at函数更加安全。at函数的运行效率慢。[ ]效率更高。 #includeiostream using namespace std;int main() {string str  helloworld;cout  str.size()  endl; // 10字符串长度cout  str.length()  endl; // 10字符串长度    // cout  str[100]  endl; // 什么都不输出也不报错不安全cout  str.at(100)  endl; // 安全的越界会报异常。    return 0; }string 类支持多种遍历方式 普通循环for循环for each循环 C11 #includeiostream using namespace std;int main() {string str  helloworld;// 以for循环的方式遍历输出字符串for(int i  0; i str.size(); i){cout  str.at(i);}cout  endl;    // for each的方式进行循环遍历字符串for(char i : str){cout i;}    return 0; } 函数 5.1 内联函数掌握 内联函数用于取代C语言中宏定义的函数。内联函数的正确使用可以提升程序的执行效率。内联函数在编译的时候直接把函数体展开到主函数中编译在运行期间可以减少调用的开销。以空间换时间 通常将具有以下性质的函数写为内联函数 代码长度5行以内。不能包含复杂的控制语句。被频繁调用 #includeiostream using namespace std;// 声明成-内联函数 inline void show(string str) {cout  str  endl; }int main() {show(nihao);return 0; } 内联函数关键字inline 后续学习的成员函数都默认添加了inline修饰。 但是我们手动添加的inline关键字将函数声明称内联函数。这个不是我们能决定的。我们只是给编译器提一个建议编译器有自己的判断准则。具体是否能变成内联函数还是编译器自己决定的。 5.2 函数重载 overload重点 C中允许多个函数使用同一个名称这种写法就是函数重载。函数重载要求函数名称相同但是参数不同类型或者数量或者前后顺序不同。与返回值和其他因素无关。 #include iostream using namespace std;void print_show(int i,double d) {cout  调用了int重载  i  endl; }//void print_show(double d) //{ //    cout  调用了double重载  d  endl; //}//void print_show(float f) //{ //    cout  调用了float重载  f  endl; //}void print_show(string str) {cout  调用了string重载  str  endl; }int main() {print_show(6,5.4);return 0; } 5.4 哑元函数熟悉 函数的参数只有类型没有名称有这样的参数的函数就是哑元函数。 #include iostream using namespace std;// 哑元函数 void print_show(int) {cout  调用了int重载  endl; }void print_show(string str) {cout  调用了string重载  str  endl; }int main() {print_show(6);  // 尽管函数内不用参数但是还是需要传递参数return 0; }作用1哑元函数用来区分函数重载。 作用2运算符重载中会用到。 #include iostream using namespace std;// 哑元函数 void print_show(int i,int) {cout  调用了int1重载  endl; }void print_show(int i) {cout  调用了int2重载  endl; }void print_show(string str) {cout  调用了string重载  str  endl; }int main() {print_show(6,1);  // 尽管函数内不用参数但是还是需要传递参数return 0; }
http://www.zqtcl.cn/news/370415/

相关文章:

  • django网站开发源码阿里邮箱登录
  • 机床网站建设网站关键词优化怎么做
  • 全网营销一站式推广wordpress新文章加new
  • 做网站哪个系统最安全长沙简界网络科技有限公司
  • 象山县城乡和住房建设局网站上海公司牌照最新价格
  • 复旦学霸张立勇做的网站开一个公司需要多少钱
  • 专业建设公司网站软件技术培训
  • 网站建设_聊城笑话小网站模板html
  • 智能建造师威海网站优化推广
  • 做网站如何选域名长沙房价2020最新价格
  • seo网站推广济宁一建建设集团有限公司
  • 高端大气网站设计欣赏有意思网站推荐
  • 什么网站做海宁的房产好北控京奥建设有限公司网站
  • 上海网站建设网络推广网页搜索框下记录删不掉
  • 团购网站大全做相册手机网站如何制作免费
  • 承德网站制作方案百度seo关键词排名s
  • 网站建设公司佛山国内网站推广
  • 辽宁网站制作公司潍坊网站建设维护
  • 手机网站图片切换平面图网站
  • 松岗建设网站广州网站定制开发方案
  • 东阳网站建设价格做理财的网站有哪些问题
  • 蓄电池回收网站建设wordpress cp 部署
  • cuteftp 备份网站网站制作课程介绍
  • 杭州网站搭建宁波企业官网建设
  • php免费网站源码网站建设电子书
  • 建设纺织原料网站专业网页制作室
  • 买域名做网站推广都是些什么湘潭什么网站做c1题目
  • 鲜花网站建设图片昆明网站建站平台
  • 密云网站制作案例昆明小程序开发
  • 网站紧急维护商丘手机网站制作