今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下: ///// Vec.h #ifndef GUARD_VEC_H #define GUARD_VEC_H #include <iostream> #include <iterator> #include <memory> //#include <xmemory> template <class T> class Vec { public:…
总的结论:    将template function 或者 template class的完整定义直接放在.h文件中,然后加到要使用这些template function的.cpp文件中. 1. 现象描述 类似于参考文献[1],当我们以如下方式使用模板函数时,会出现模板函数声明.定义分离带来的链接错误: // File "foo.h" template<typename T> extern void foo(); // File "foo.cpp" #…
问题背景 开始正文之前,做一些背景铺垫,方便读者了解我的工程需求.我的项目是一个客户端消息分发中心,在连接上消息后台后,后台会不定时的给我推送一些消息,我再将它们转发给本机的其它桌面产品去做显示.后台为了保证消息一定可以推到客户端,它采取了一种重复推送的策略,也就是说,每次当我重新连接上后台时,后台会把一段时间内的消息都推给我.而不论这些消息之前是否已经推送过,如果我不加处理的直接推给产品,可能造成同一个消息重复展示多次的问题.为此,我在接收到消息后,会将它们保存在进程中的一个容器中,当有新消息…
Android编译过程详解(一) 注:本文转载自Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android的优势就在于其开源,软件开发商可以根据自己的需求来基于Android定制自己的OS,如小米(MIUI),魅族(Flyme),锤子(Smartisan)等,因此,在对Android的源码进行定制的时候,有必要了解Android的编译过程. Android的官方网站:http:…
cegui 编译过程详解(cegui-0.8.2) cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠结的小白们. 准备工作 第一步,先下载cegui-0.8.2和CEGUI 0.8.x Dependency    http://www.cegui.org.uk/wiki/index.php/CEGUI_Downloads_0.8.2 第二,我们下载cmake,用于构建文件,cmake官网不太稳定,…
Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:”   if spam == 42 print('Hello!') 导致:SyntaxError: invalid syntax 1.误用 “=” 做等值比较 “=” 是赋值操作,而判断两个值是否相等是 “==”   if spam = 42: print('Hello!') 导致:SyntaxError: invalid syntax 2.使用错误的缩进…
js的函数节流和throttle和debounce详解:同样是实现了一个功能,可能有的效率高,有的效率低,这种现象在高耗能的执行过程中区分就比较明显.本章节一个比较常用的提高性能的方式,通常叫做"函数节流",下面就通过代码实例对此做一下介绍.一.函数节流是什么:在实际编码中,mousemove和resize是使用非常频繁的事件类型(当然还有其他类似事件类型),这样的事件有一个共同的特点,就是在一个普通的操作中,就有可能会在极短的时间内多次执行事件处理函数,会极大的损耗性能,比如resi…
Linux基础之LSB定义的基本目录详解 1.LSB中FHS(Filesystem Hierarchy Standard)定义的一些文件 /boot:主要是存放引导文件的目录,比如内核文件(vmlinuxz).引导加载器的静态文件(bootloader.grub),一般这个目录是一个独立分区 /bin:供所有用户使用的基本命令,不能关联至独立分区,操作系统启动即会用到的程序会放置在这个目录 /sbin:包含管理类的基本命令,不能关联至独立分区,操作系统启动即会用到的程序会放置在这个目录 /lib…
Tags: C Description: 关于 GCC 的个人笔记 GCC 概述 对于 GCC 6.1 以及之后的版本,默认使用的 C++ 标准是 C++ 14:使用 -std=c++11 来指定使用哪一个标准 将源代码编译为可执行程序的流程 g++ 编译时使用 C++ 的标准库,而 gcc 默认使用 C 的标准库,g++ 等价于 gcc -xc++ -lstdc++ -shared-libgcc Linux 下可以使用 man gcc 命令查看帮助手册 GCC 的安装 Windows 下安装…
什么是段错误 下面是来自 Answers.com 的定义: A segmentation fault (often shortened to segfault) is a particular error condition that can occur during the operation of computer software. In short, a segmentation fault occurs when a program attempts to access a memor…