现在位置: 首页 > C++11
++,--和[]操作符 相比于原始指针,shared_ptr只提供这些运算符: 1) ->, * 2) 比较运算符 但是,shared_ptr不提供 1) 指针运算比如+,-,++,-- 2) Operator [] 例子: #include <iostream> #include <memory> struct Sample {   void dummyFunction() {     std::cout << "dummyFunction" << std::endl;   } }; int main() {   std::shared_ptr<Sample>...
阅读全文
当一个shared_ptr对象超出作用域时,其析构函数被调用,在析构函数中,将其引用计数减1,如果引用计数的值变为0,则删除关联的原始指针。 要删除析构函数中的内部原始指针,默认情况下,shared_ptr调用delete()函数,即 delete Pointer; 但是,我们在析构函数中并不总是要使用delete函数,还可能有其他的需求。 如果shared_ptr指向一个数组而不是一个简单的指针 std::shared_ptr<int> p3(new int[12]); 在其析构函数中,s...
阅读全文
std::shared_ptr<>是c++11中引入的一种智能指针,它足够聪明,如果指针不在任何地方使用,就会自动删除指针。这可以帮助我们彻底消除内存泄露和悬挂指针的问题。 shared_ptr和共享所有权 它遵循共享所有权的概念,即不同的shared_ptr对象可以与相同的指针相关联,并且在内部使用引用计数机制来实现。 每个shared_ptr对象内部指向两块内存区域 1)指向对象 2)指向用于引用计数的控制数据 共享所有权怎样在引用计数的帮助下...
阅读全文
2016-06-18 22:14 工业·编程 ⁄ 共 251字 暂无评论
本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件编译等。 1.菜单“Project”——“Properties”——“C++ General”,如图所示: 2.“C++ Build”——“Settings”,如图所示: 3.头文件路径设置如图所示: 4.预定义设置如图所示: 5."C++ Linker"配置(此处解决内联文件编译支持C++11的问题),如图所示: 6.链接库与路径 7.指定编译后链接库路径与其他工程文件 暂时就总结这么多,以后发现新...
阅读全文
祁宇,资深C++技术专家,致力于C++11的应用、研究和推广。金山软件WPS资深工程师,负责Android服务端开发。精通OOP、OOD、设计模式和重构,主要研究方向为架构设计和业务重构,有丰富的开发和研发管理经验。爱好C++,爱好开源,乐于研究和分享技术,有多个开源项目(详见GitHub),在《程序员》上发表多篇技术文章。2013年被评为珠海市优秀青年人才。 日前CSDN采访了祁宇,请他解读C++11的新标准、C++的现状以及未来的发展前景...
阅读全文
过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发团队也有很大一部分来源于英库团队的老成员)。整个项目是微软亚洲研究院的自然语言处理组、互联网搜索与挖掘组和我们创新工程中心,以及微软中国Office商务软件部(MODC)多组合作的结果。至于我们的输入法有哪些创新的feature,以及这些featu...
阅读全文