搭建网站 网页,中国移动璧山网站建设,中国人在俄罗斯做网站需要多少卢布,中国建设银行下载官方网站【注意】 程序语言只是我们与计算机交流并让计算机实现我们创造性思想的工具#xff0c;可以并鼓励深入掌握一门语言#xff0c;但千万别沉迷于钻某种语言的牛角尖#xff0c;一定要把握好二者间的度本帖属不定时连载贴#xff0c;以试卷的形式提出一个比较基础的问题供大家… 【注意】 程序语言只是我们与计算机交流并让计算机实现我们创造性思想的工具可以并鼓励深入掌握一门语言但千万别沉迷于钻某种语言的牛角尖一定要把握好二者间的度 本帖属不定时连载贴以试卷的形式提出一个比较基础的问题供大家思考讨论问题的解析将在下一更新贴中一并给出这样做是希望还不清楚问题的朋友有自己思考和讨论的时间希望大家能从这些帖子中有所收获。 贴中问题属我在学习C\C过程中遇到的一些语法或者比较隐晦的程序问题其中有自己的总结也不乏网络上搜索到的经典解析在此分享给大家希望能起到抛砖引玉的作用 我已认真检查过自己的帖子但难免有疏忽如大家在阅读过程中仍发现有问题请及时通知我会及时更正以免误导大家万分感谢^_^ 【No.7 C对象的构造与析构时间】 由于连载形式每帖第二部分都配有上一问题的解答。为了保持帖子的针对性和一致性此贴仅供交流讨论本次问题若大家对上一问题有任何疑问请通过解答末尾的传送链接前往该问题贴回复讨论 [问题No.7] 请写出以下代码的执行结果 复制内容到剪贴板 代码: #includeiostream using namespace std; //------------------------------------------------- class Foo { public: Foo(void) { coutconstructing...endl; _counter; } Foo(const Foo p) { coutcopy constructor...endl; _counter; } ~Foo(void){ coutdestructing...endl; } public: static int _counter; }; int Foo::_counter 0; //--------------------------------------------- Foo global; Foo Trap(Foo foo) { Foo local foo; Foo *heap new Foo(global); *heap local; Foo pa[4] { local, *heap }; return *heap; } int main(int argc, char **argv) { Foo p; Trap(p); coutFoo::_counterendl; return EXIT_SUCCESS; } No.6 switch的陷阱浅析 输出结果 0问题浅析本题出错大多是由于初学者自己主观臆断switch-case块的执行方式此题中i 1有的午饭就主观地认为case 1:分支被执行x 5然后输出为5.但是switch-case语句的陷阱就在这里case分支不是if-else这样的非此即彼的判断语句case只是一个入口i 1时找到入口case 1:因此执行这个入口之后的所有语句直到swtich语句块结束。那么如何杜绝此问题的发生呢见如下代码 复制内容到剪贴板 代码: swtich(i) { case 1: x 5; break; case 2: x; break; case 3: x; break; default: break; } 只要执行了一条分支语句就break出switch语句块这样就实现了我们之前臆断的程序功能并且如果不是有意要执行多个case分支请时刻记住每一个case分支包括default后都应该填上break语句并且不管你有没有必要写default分支也请写上并break这样做是是程序的可读性得到保障 以免别的程序员误以为你忘记了default情况的处理。 本文转自Bill_Hoo 51CTO博客原文链接http://blog.51cto.com/billhoo/733265如需转载请自行联系原作者