C++11为我们提供了智能指针,给我们带来了非常多便利的地方。 那么假设把unique_ptr作为vector容器的元素呢? 形式如出一辙:vector<unique_ptr<int> > vec; 可是怎么给vec加入元素呢? 看以下: #include<iostream> #include<ve ...
分类:
编程语言 时间:
2017-08-20 10:05:05
阅读次数:
202
1.基类通常都应该定义一个虚析构函数,即使该函数不执行任何实际操作也是如此。 2.任何构造函数之外的非静态函数都可以是虚函数,关键字virtual只能出现在类内部的声明语句之前而不能用于类外部的函数定义。如果基类把一个函数声明成虚函数,则该函数在派生类中隐式地也是虚函数。成员函数如果没有被声明成虚函 ...
分类:
编程语言 时间:
2017-08-19 23:38:23
阅读次数:
242
boost_array_bind_fun_ref Array.cpp #include<boost/array.hpp> #include <iostream> #include <string> using namespace std; using namespace boost; void ma ...
分类:
编程语言 时间:
2017-08-18 18:46:44
阅读次数:
123
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,可以确保自己主动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指 ...
分类:
编程语言 时间:
2017-08-17 13:06:10
阅读次数:
250
所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。 概述 作为C++工程师,免不了要管理内存,内存管理也是C++中的难点,而智能指针采用引用计数的办法很方便的帮我们管理了内存的使用,极大方便 ...
分类:
其他好文 时间:
2017-08-10 18:04:51
阅读次数:
123
对比Go等其他语言的工程,C++工程让人痛苦的一件事情就是当工程稍微庞大一点,编译时间就蹭蹭蹭往上爬。一般来说看过Effective C++这本书或者其他类似书籍的人都知道要解决编译时长的问题,就要解决好和头文件之间的依赖关系。所以在任何必要的时候要首先考虑使用前置声明而不是之间include头文件 ...
分类:
其他好文 时间:
2017-08-04 12:41:58
阅读次数:
584
C++ Primer 学习中。。。 简单记录下我的学习过程 (代码为主) 【题外话】过几天就要出去找工作了。这几天在家看看曾经做过的题。。。如今想想时间过得真的好快,希望自己能找一份自己惬意的工作。。。!!! <梦想还是要有的,万一实现了呢!> 以下是学习心得: 这幅图非常好的阐述了仅仅能指针的概念 ...
分类:
其他好文 时间:
2017-08-02 21:00:39
阅读次数:
148
https://segmentfault.com/q/1010000003797714 我在看一个日本人写的书《征服 C 指针》,书上的引言提到这么一句话 确实,“C指针”有着底层而邪恶的一面,但是,它又是构造链表和树等“数据结构”不可缺少的概念。如果没有指针,我们是 做不出像样的应用程序的。所以, ...
分类:
编程语言 时间:
2017-08-02 17:41:48
阅读次数:
139
<a>C++ <span style="font-family:宋体;">智能指针具体解释</span></a> 一、简单介绍 因为 C++ 语言没有自己主动内存回收机制。程序猿每次 new 出来的内存都要手动 delete。程序猿忘记 delete。流程太复杂。终于导致没有 delete。异常导致 ...
分类:
其他好文 时间:
2017-07-31 11:24:01
阅读次数:
174
以独立语句将newed对象置入智能指针 本节我们须要学习的知识核心是注意编译器在同一语句中,调用次序具有不确定性,不同语句中,调用次序确定。 上面的话什么意思? 请看下面代码: int priority(); int processWidget(shared_ptr<Widget> pw, int ...
分类:
编程语言 时间:
2017-07-30 17:07:57
阅读次数:
116