C/C++
C860
I'm an HCIer from SCAU
展开
-
std string的内存共享和Copy-On-Write技术
转载自:http://blog.csdn.net/haoel/article/details/24058看到google leveldb的代码大量使用std::string,想知道这个基础数据结构怎么实现的,看了下stl的string源代码,太烦了;找到这篇文章,写的很清楚,记录下。读完照例总结下:string对象间是会共享内存(与share memory是不同的概念)的,修改转载 2013-08-29 15:29:23 · 1217 阅读 · 0 评论 -
c++ string 内存分配
每当程序将一个字母附加到字符串末尾时将发生什么呢?不能仅将已有的字符串加大,因为相邻的内存可能被占用了。因此,可能需要分配一个新的内存块,并将原来的内容复制到新的内存块单元中。如果执行了大量这样的操作,效率将非常低,因此很多c++实现分配一个比实际字符串大的内存块,为字符串提供了增大空间。然而,如果字符串不断增大,超过了内存卡的大小,程序将分配一个大小为原来两倍的新内存块,以提供足够的增啊空间,避转载 2013-08-29 15:03:32 · 3774 阅读 · 0 评论 -
介绍一个很不错的QT入门教程
最近想接触一下C++,可MFC于我而言,太过复杂,所以果断就选择了QT,QT是个好东西,给了我写VB的感觉。很不错。可是事实上QT的教程并不多。我也是费了好大劲才找到几个教程。其中有一个教程让我感觉到十分适合像我这样之前只会写控制台的程序员。下面把链接分享给大家。QT学习之路:从入门到精通:http://blog.51cto.com/zt/20原创 2013-08-30 15:28:12 · 1211 阅读 · 0 评论 -
QT5提示can not find -lGL的解决方法
这是由于 Qt5.0 默认将OpenGL加入了工程,但是在机器上没有安装OpenGL,所以jonas只需要在机器上安装OpenGL即可 。安装建立基本编译环境首先不可或缺的,就是编译器与基本的函式库,如果系统没有安装的话,请依照下面的方式安装:$ sudo apt-get install build-essential 安装OpenGL Library接转载 2013-09-01 16:54:33 · 3240 阅读 · 0 评论 -
ubuntu下配置GLUT+CodeBlocks
课程需要,必须安装个OPENGL来完成实验作业。但是无奈在网上找的教程都不适用于现在的ubuntu版本,即便你sudo apt-get install freeglut3-dev你都会发现一切都是无济于事。那么作业肯定是要做的,怎么破?只有自力更生!在StackOverflow上看了好多外国汉子都说没成功安装过glut,反倒是都用着freeglut,于是果断就选择安装fre原创 2013-11-14 15:53:32 · 956 阅读 · 0 评论