摘要:
多读一些优秀的书籍,对于开发者稳固编程基础、提高编程技能有很大帮助。但是,大多时候,初学者不知道应该读什么书入门,有一定基础的开发者不知道如何进阶。本文总结了一个C++优秀书籍清单,希望能够为你带来一定的帮助。这些书大多数都有中文版,并且可以很容易在网上找到。阶段 1《Essential C++》这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C++编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到C++的函数和结构,也会学习到它们的设计目的和基本原理。《C++ Primer》本书对C++基本概念、技术、以及现代C++编程风格进行了全面而 阅读全文
摘要:
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用: #include <string>#include <iostream>#include <boost/scoped_ptr.hpp>class implementation{public:~implementation() { std::cout <<"destroying implementation/n"; }void do_something() { s 阅读全文
摘要:
explicit如果A类有某个构造函数的单个输入参数,是B类(包括基本数据类型)的对象或引用,则C++的编译器会在需要A类形参的函数调用中,自动调用该构造函数,将B类实参隐式地转换为A类实参。这种自动类型转换的好处是,避免了定义函数的两个重载版本,代价是隐式调用构造函数会增加调用开销,并可能会带来其他问题。在标准C++中,新增加了关键字explicit(显式/清楚/明确),(只能)用在带单个参数的构造函数前,告诉编译器,不能使用该构造函数进行隐式类型转换。如果确实想转换,则必须采用显式的类型转换方式来进行。从而避免了可能出现的问题和额外的调用开销。例如:class One {……};class 阅读全文
摘要:
Ubuntu建立本地源非常实用,很多服务器在局域网没有网络或者网络很慢的情况下,或者需要批量安装同样的软件的时候,如果每一台服务器都去外网下载,是不是很慢,而且也不是一个运维工程师愿意这么干的!那有什么好的办法呢,如下记录ubuntu12.04本地源的安装方法,仅供参考。系统环境:ubuntu12.04一、实验目的在一台ubuntu12.04服务器上面建立ubuntu常用软件安装源,由于项目需求需要安装很多的deb包,并保证局域网数台机器都部署一致的软件和环境,那我们先找一台服务器端联网apt-get下载需要的软件包,做成本地源,然后局域网数台服务器通过脚本或者通过kickstart自动同步该 阅读全文
摘要:
安装laTex1) 安装texlivesudo apt-get install texlive-full latex-beamer dvipdfmx2) 安装cjksudo apt-get install latex-cjk-all3) 安装字体下载字体:ftp://cle.linux.org.tw/pub2/tex/cjk/fonts/nsungt1/nsungt1-1.4.2.tar.gz (宋体)ftp://cle.linux.org.tw/pub2/tex/cjk/fonts/nkait1/nkait1-1.4.2.tar.gz (楷体)下载解压后,进入目录执行install.sh脚本 阅读全文
摘要:
1.ctags(1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.6.tar.gzhttp://prdownloads.sourceforge.net/ctags/ctags-5.6.tar.gz(2)解压并安装tar zxvf ctags-5.6.tar.gzcd ctags-5.6./configure && make && make install(3)使用[/home/brimmer/src]$ ctags -R"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。&quo 阅读全文
摘要:
ConVirt是一个虚拟化管理平台,使用无代理模式工作。当需要管理的目标节点提供SSH登录方式时,ConVirt通过SSH登陆到计算节点,在计算节点上直接运行相对应的虚拟化管 理命令。当需要管理的目标节点提供HTTP/HTTPS/XML-RPC远程调用接口时,ConVirt插件通过目标节点所提供的远程调用接口实现对目标平台的管理,目前最新版本为2.0.1。ConVirt2.0是一款使用python和extjs结合编写的基于web的集中管理xen服务的程序。该程序在xen 社区项目,管理项目中被使用的量很高,ConVirt开发有开源版本与企业版本,企业版拥有服务支持,并增强了xen动态资源调整的 阅读全文
摘要:
尝试了好多工具,其余的都不work~~~LinuxLive USB Creator,UltraISO等等。发现这个openSUSE做的才是最好,最简单的。1.下载写入工具:http://cloud.github.com/downloads/openSUSE/kiwi/ImageWriter.exe2.将ubuntu安装光盘镜像后缀从 .iso 改为 .raw3.打开ImageWriter.exe,选择上面的镜像。4.点Copy5.等6.重启7.F12Enjoy~注意,swap 分区是在used as 里面选择的 阅读全文
摘要:
简要的说,variant是有限定的变体类型(any是不限定的)。限定有限定的好处,variant是基于栈来储存值的,比起any用堆来要快得多;另外variant与STL的配合也容易得多。Boost.VariantVariant库包含一个不同于union的泛型类,用于在存储和操作来自于不同类型的对象。这个库的一个特点是支持类型安全的访问,减少了不同数据类型的类型转换代码的共同问题。Variant 库如何改进你的程序?对用户指定的多种类型的进行类型安全的存储和取回在标准库容器中存储不同类型的方法变量访问的编译期检查高效的、基于栈的变量存储 阅读全文
摘要:
目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。(典型用处,关联数据,即,hash map 或者 字典)用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的效率和红黑树以及 AVL 树不相上下,但跳表的原理相当简单,只要你能熟练操作链表,就能轻松实现一个 SkipList。插入,搜寻元素的复杂度都为O(logn)------------------------------------------------------------------------------------------------- 阅读全文