![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程基础(old)
yl33643
移动开发 请多指教
展开
-
i++与++i哪个效率更高?
答案:在内建数据类型的情况下,效率没有区别;在自定义数据类型的情况下,++i效率更高!分析:(自定义数据类型的情况下)++i返回对象的引用;i++总是要创建一个临时对象,在退出函数时还要销毁它,而且返回临时对象的值时还会调用其拷贝构造函数。(重载这两个运算符如下)class Integer{public: Integer(long data):m_da原创 2009-05-22 22:18:00 · 542 阅读 · 0 评论 -
sizeof与strlen的区别?
sizeof是运算符,strlen是函数,并且只能用char*做参数,且必须是以/0结尾!1:char ss[]="0123456789";sizeof(ss)=11sizeof(*ss)=1strlen(ss)=102:char *ss="0123456789";sizeof(ss)=4sizeof(*ss)=1strlen(ss)=103:c原创 2009-05-23 23:14:00 · 398 阅读 · 0 评论 -
判断处理器使用Big_endian还是Little_endian模式存储数据
问题:编写一个函数。若处理器使用Big_endian模式存储数据,则返回0;若使用Little_endian模式存储数据,则返回1。答案:int checkCPU(){ union w { int a; char b; }c; c.a=1; return(c.b=1);//Little_endian模式返回1}分析:(1)采原创 2009-05-24 10:15:00 · 1726 阅读 · 1 评论 -
explicit的作用?
1:explicit只能用于类内部的构造函数声明上!2:explicit用于抑制构造函数的隐式转换3:假设某个成员函数的入参是某个类对象(其构造函数参数为string类型);而现在传入该成员函数的就是string类型参数;则此时隐式调用类的构造函数,创建一个临时类对象;一旦该成员函数结束,这个类对象也便被丢弃而不能访问,这样是存在隐患的!原创 2009-05-26 16:40:00 · 604 阅读 · 0 评论 -
static小结
1:static的引入函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉。这样就产生了一个问题:如果想将函数中此变量的值保存至下一次调用时,如何实现?最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围!(使得在此函数中定义的变量,不仅仅受此函数控制)2:sta原创 2009-05-26 15:53:00 · 363 阅读 · 0 评论