![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 76
szonebit
这个作者很懒,什么都没留下…
展开
-
C++中explicit的作用
在类的构造函数中,如果构造函数只有一个参数,则该函数会被用来隐式的类型转换以及拷贝构造。如:class C{public: C(const C &); // 构造函数1 C(int); // 构造函数2 ....};C func1(C c){ return c; // 编译通过,此处会调用C的第一个构造函数,产生一个拷原创 2012-03-09 12:08:30 · 809 阅读 · 0 评论 -
浅析volatile的用法
为什么需要volatile在介绍volatile之前,先来了解一个GCC编译器优化的例子。 如我们有如下代码:static int foo;void bar(void) { foo = 0; while (foo != 255) ;}那么GCC或者其他编译器在编译的时候,发现上面的代码while处需要一直读取foo变量的值,但这个foo变量在代码中并没有被变化,就原创 2015-06-10 23:09:05 · 577 阅读 · 0 评论 -
Lambda表达式和闭包Closure
所谓闭包Closure,就是一种将函数及其函数调用环境组成在一起的实体。还有一种概念是匿名函数,匿名函数与闭包一样给程序员提供了一种简单顺手的函数快捷定义方法,但闭包多出来的功能是:在定义函数时,还会将周边环境数据一起传入该函数中。比如C++ Lambda函数就是闭包,在定义Lambda函数时可认为在创建一个重载了()符号的类的实例,而周边环境数据作为该类的成员变量,在构造函数中传给实例中的成员。当原创 2015-06-11 22:01:20 · 1343 阅读 · 0 评论 -
using使用法总结
using有两种用法,一种是using declaration(申明),另一种是using directive(指示)。using declaration一次只引入命名空间的一个成员,使得在using declaration的作用域内,对该成员的访问不需要在前面加命名空间。如:using NewDevice::Exposure; using declaration可以用在不同的地方,如全局作用域或原创 2015-06-11 21:03:29 · 1308 阅读 · 0 评论