初学者编程入门:C++实用技巧讲解

wangmingxing64

wangmingxing64

2016-02-19 13:05

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的初学者编程入门:C++实用技巧讲解懂设计的网友们快点来了解吧!
在准标准C++中,有关缺省变量值的限制非常模糊。基于此,很多编译器答应开发人员将缺省变量值包含在函数声明,指向函数的指针和引用,成员函数的指针,以及typedef声明中。
  
  请看一下以下的程序:
  
  strUCt A{void func(int x=5){}};void g(int n=12){}// 根据C++标准,不能在以下声明中使用缺省变量值。void (*pf)(inti=120); void (A::*pmf)(int j=50);typedef void (*PF)(inti=100);// 函数的引用typedef void (&PRF)(inti=100);int main(){pf=g;PF pf2=g;pmf=&A::func;A a;//这些调用使用了哪些缺省值?pf();pf2();(a.*pmf)();}
  
  A::func()和g()具有缺省变量值,这是合理的。然而,指针pmf,pf以及typedefPF也定义了缺省的变量值。根据C++标准,这是不规范的。
  
  这一代码的实际使用中,其中的一个问题是这些声明中提供的缺省值与A::func()和g()函数提供的值不一致。也就是说,很多编译器将这些代码作为非标准的扩展。当调用g()函数时,我的编译将120作为pf的缺省值;然而,对于pf2,它使用100作为它的缺省值。
  
  作为一种规则,应该避免使用指向函数的指针,成员函数的指针,以及typedef命名的缺省变量值。即使你的编译器接受了它们,在更高版本中它也可能不被接受。而且,这些代码也会降低程序的灵巧性,也会给那些无法判别哪些编译器接收何种缺省变量的开发人员带来误导。在使用这些缺省变量值的合法代码中,这里的建议是添加一些必要的注释,以说明需要哪些缺省变量值。
展开更多 50%)
分享

猜你喜欢

初学者编程入门:C++实用技巧讲解

编程语言 网络编程
初学者编程入门:C++实用技巧讲解

初学者你应当如何学习C++以及编程

编程语言 网络编程
初学者你应当如何学习C++以及编程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

送给初学者的礼物:C++游戏编程起源连载一

编程语言 网络编程
送给初学者的礼物:C++游戏编程起源连载一

初学者学习C++的50条忠告

编程语言 网络编程
初学者学习C++的50条忠告

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

初学者入门 JAVA 的 XML 编程实例解析

编程语言 网络编程
初学者入门 JAVA 的 XML 编程实例解析

化妆入门技巧有哪些 化妆初学者入门技巧

化妆 美妆 化妆技巧
化妆入门技巧有哪些 化妆初学者入门技巧

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

jquery 导航条的效果(css选择器控制)

jquery 导航条的效果(css选择器控制)

基于jquery实现的服务器验证控件的启用和禁用代码

基于jquery实现的服务器验证控件的启用和禁用代码
下拉加载更多内容 ↓