C++
chjp2046
这个作者很懒,什么都没留下…
展开
-
C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝
C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝 关键词:构造函数,浅拷贝,深拷贝,堆栈(stack),堆heap,赋值运算符摘要: 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1原创 2009-12-16 00:51:00 · 576 阅读 · 2 评论 -
格式化字符串
格式化字符串 作者:水木 来源:博客园 发布时间:2010-03-03 09:14 阅读:105 次 原文链接 [收藏] 常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处。f原创 2010-04-08 02:23:00 · 1368 阅读 · 0 评论 -
函数传递二维数组
c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下: 方法一, 形参给出第二维的长度。 例如: #include void func(int n, char str[ ][5] ) { int i; for(i = 0; i printf("/nstr[%d] = %s/n", i, str[i])原创 2010-04-25 17:34:00 · 645 阅读 · 0 评论 -
如何在 VS2008下使用Openmp编程
如何在VS2008下使用Openmp编程 如何建立Openmp编程环境 OpenMP在Windows环境下比较容易实现,只要打开VS2008中的编译选项/openmp,设置一下环境变量OMP_NUM_THREADS就可以了.一般是新建一个c++项目,以次选择项目->(*)属性->配置属性->c"c++->语言,打开OpenMP支持原创 2010-04-30 23:51:00 · 5688 阅读 · 1 评论 -
c/c++头文件
<br />做到专业,应该是每个职业程序员应该要求自己做到的。<br /><br /><br />1.License Agreement<br />License Agreement应该加在每个头文件的顶部。<br />Lua Sample:<br /> /*<br />** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $<br />** Lua - An Extensible Extension Language<br />**原创 2010-06-28 21:00:00 · 2600 阅读 · 1 评论 -
Linux 编程段错误(segmentation error)总结
最近一段时间在linux下用C做一些学习和开发,但是由于经验不足,问题多多。而段错误就是让我非常头痛的一个问题。不过,目前写一个一千行左右的代码,也很少出现段错误,或者是即使出现了,也很容易找出来,并且处理掉。 那什么是段错误?段错误为什么是个麻烦事?以及怎么发现程序中的段错误以及如何避免发生段错误呢? 一方面为了给自己的学习做个总结,另一方面由于至今没有找到一个比较全面介绍这个虽然是“particular problem”的问题,所以我来做个抛砖引玉转载 2010-07-01 19:55:00 · 955 阅读 · 0 评论 -
段错误bug的调试
<br />crit by:http://www.cublog.cn/u/5251/showart.php?id=173718<br /><br />我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。<转载 2010-06-29 22:48:00 · 622 阅读 · 0 评论 -
c++ tools
开发环境 ---->Turbo c DOS时代c语言开发的经典工具,目前适合两类人使用:c语言beginner(尤其是学生一族),具有怀旧情节的专业人士:) ---->Visual C++ 6.0/7.0 稳定而强大的IDE开发环境,具有丰富的调试功能,定制宏的功能也是其一大特色。Microsoft的经典之作,功能强大自不必言说。附带的一些工具也很不错转载 2010-05-07 18:07:00 · 721 阅读 · 0 评论 -
簡易的程式平行化-OpenMP
簡易的程式平行化方法-OpenMP(一)簡介本文原發表於:http://heresy.spaces.live.com/blog/cns!E0070FB8ECF9015F!1018.entry 嗯~首先,Heresy 也是最近才開始試著用 openMP 的,所以其是這篇與其說是教學或介紹,倒不如說是學習心得會更為恰當。會不會繼續用?說實話也是未知數。總之,看著辦囉~转载 2010-05-19 15:54:00 · 1402 阅读 · 0 评论 -
我的 Intel MPI 笔记
我的 Intel MPI 笔记起步 使用流程 安装 根据手册安装 Intel MPI 库,保正库、脚本和实用程序安装正常。起步 加载 mpivars.[c]sh 脚本 (或者以其它类似方式加载 Intel MPI 库的环境)。创建文本文件 mpd.hosts ,其中保存有集群转载 2010-05-19 23:51:00 · 3198 阅读 · 0 评论 -
C Run-time library
<br />以下摘自《edyang 语录》:<br />记住一个人,最重要的是记住他/她/它是男人/女人/东东,有没有贬过,有没有吻过,有没有咬过,名字记不住反而关紧要。<br />C Run-time Library<br /> CRun-time library,是 C 而非 C++ 语言世界的概念,取这个名字就是因为你的 C程序运行时需要这些库中的函数.<br /> 大家在学过C++之后,可能对C RuntimeLibrary这个名字有一定的误会,可能认为是运行时库是动态原创 2010-06-10 21:55:00 · 826 阅读 · 0 评论 -
在vs2008中包括外接调用库的 .lib,.dll,includes
<br />借鉴下面的方法:<br /> <br /> <br />1,glut32.lib放到C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib目录下;glut32.dll放到C:/WINDOWS/system32目录下<br />2,设置IDE环境:project->new Property->Configuration propertites->linker->Input->Additional dependencies里面加入ope原创 2010-06-10 22:19:00 · 1232 阅读 · 0 评论 -
vs2008安装boost库
首先我在晚上找到了很多的说明:我先一一罗列在下*********************************************************************************一。下载boost库2008年3月底发布了1.35.0版本,包括了12个新的库和若干对于新库的修正。请参见http://www.boost.org/users/news/version_1_35_0来获取详细的更新信息。 最大的喜讯就是提供了对于Visual Studio 2008编译器的支持(原创 2010-06-10 23:44:00 · 4211 阅读 · 0 评论 -
GCC 命令行详解[转帖]
<br /> <br /><br />转自:http://blog.pfan.cn/xiangyu/6675.html<br /><br />1、gcc包含的c/c++编译器<br />gcc、cc、c++、g++<br />gcc和cc是一样的,c++和g++是一样的,一般c程序就用gcc编译,c++程序就用g++编译<br />2、gcc的基本用法<br />gcc test.c这样将编译出一个名为a.out的程序<br />gcc test.c -o test这样将编译出一个名为test的程序转载 2010-06-12 13:47:00 · 586 阅读 · 0 评论 -
清空std::stringstream,联系到stream的clear()和清空
使用 std::stringstream,小心 内存! 适时 清空 缓冲 ……2007年12月14日 星期五 16:25 stringstream是个好东西,网上有不少文章,讨论如何用它实现各种数据类型的转换(比如把double或int转换为string类型)。但如果stringstream使用不当,当心内存出问题(我就吃过亏^_^)。 试试下面的代码,运行程原创 2010-04-08 02:22:00 · 22169 阅读 · 4 评论 -
如何:在字符串中放置引号——摘自msdn
如何:在字符串中放置引号(Windows 窗体)有时可能需要将引号 (" ") 放入文本字符串中。例如: She said, "You deserve a treat!"在代码中将引号放置于字符串中在 Visual Basic 中,将两个引号插入一行中作为一个嵌入的引号。在 Visual C# 和 Visual C++ 中,插入转义序列 /" 作为嵌入的引号转载 2010-04-08 02:24:00 · 859 阅读 · 0 评论 -
如何将二维数组作为函数的参数传递
今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间。 正文: 首先,我引用了谭浩强先生编著的《C程序设计》上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下(略有改变,请原谅):原创 2009-12-15 20:37:00 · 484 阅读 · 0 评论 -
C++类对象的深拷贝、浅拷贝构造函数
在学习这一章内容前我们已经学习过了类的构造函数和析构函数的相关知识,对于普通类型的对象来说,他们之间的复制是很简单的,例如:int a = 10; int b =a; 自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如: #include usingnamespacestd; classTest原创 2009-12-16 00:33:00 · 429 阅读 · 0 评论 -
设计模式--观察者模式(C++)
#include#includeusing namespace std;class Observer;//观察者的 虚基类class Subject //被观察者的 虚基类{public: virtual void attach(Observer *o)=0; virtual void remove(Observer *o)=0;原创 2009-12-17 18:43:00 · 551 阅读 · 0 评论 -
请大家推荐好书:通过分析一个较大的程序来学习C++
发信人: xhliu ( s), 信区: CPlusPlus标 题: Re: 请大家推荐好书:通过分析一个较大的程序来学习C++发信站: 水木社区 (Wed Dec 16 18:26:18 2009), 站内tinyXML不错,代码量不多的,好像还不到一万行的,另外cppunit的话也蛮好的,用了挺多的设计模式,如果想看Windows下的编程的话,notepad++也挺适原创 2009-12-18 16:20:00 · 510 阅读 · 0 评论 -
ACE自适配通信环境(ADAPTIVE Communication Environment)
发信人: hanger (hanger), 信区: CPlusPlus标 题: Re: 请大家推荐好书:通过分析一个较大的程序来学习C++发信站: 水木社区 (Wed Dec 16 18:13:54 2009), 站内推荐 ICE+CppPrimer关键字: 中间件, 面向对象,设计模式,通讯,多线程,跨平台坚持学习半年可以傲视一切c++ 面试 ========原创 2009-12-18 16:18:00 · 381 阅读 · 0 评论 -
void* 指针
void指针 指针有两个属性:指向变量/对象的地址和长度 但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针转载 2009-12-31 19:10:00 · 393 阅读 · 0 评论 -
使用man命令的问题
使用man命令的问题 输入man命令的时候会出现Cannot open the message catalog "man" for locale "zh_CN.UTF-8"(NLSPATH="")请问是何原因?FC5的系统内核 2.6.17-1.2157_FC5smp 没有对应的帮助文件 试试e原创 2010-03-13 03:18:00 · 998 阅读 · 0 评论 -
程序调试工具
逛BBS时,偶尔会来到这里,经常会看到大家问一些编程的问题,但让人觉得惊讶的是,这些问题并不难,如果提问者会使用调试器,如VC里面的调试器,windbg,或Linux下的gdb,Solaris下的mdb和dbx,并且耐耐心心地跟一下代码.这些问题都不需要问.原创 2010-04-08 22:18:00 · 443 阅读 · 0 评论 -
tinyxml------中文支持
tinyXML 中文支持2009-07-31 01:10TinyXml中文解析在控制台输出就是一堆乱码。后来找了下,只要将utf-8编码换成 encoding="GB2312"另一种方法是自己写个转码器,我太懒了。采用第一种方法。转载 2010-04-01 22:02:00 · 1337 阅读 · 0 评论 -
TinyXml Documentation
TinyXml Documentation 2.6.0 TinyXML TinyXML is a simple, small, C++ XML parser that can be easily integrated into other programs. What it does. In brief, TinyXML parses an XML docu原创 2010-04-01 22:04:00 · 1081 阅读 · 0 评论 -
从 VC6到VC9移植代码问题总结收藏
cited fromhttp://hi.baidu.com/liuhuishan/blog/ite ... 008ab.html从VC6到VC9移植代码问题总结收藏(2009-06-16 17:06:57)标签:vc6到vc9 移植代码 代码移植 问题 总结 收藏 it 分类:软件开发 首先可以直接用Visual Studio 2008的打开VC原创 2010-04-10 18:33:00 · 710 阅读 · 0 评论 -
使用GTK+和Glade快速开发Linux图形界面
使用GTK+和Glade快速开发Linux图形界面Glade, GTK, Linux, draft, 图形* 使用 GTK+ 和 Glade 快速开发 Linux 图形界面** GTK+ 简介*** 基本概念GTK+ 是一种用于创建图形界面的库. 嗯, gnome 用的就是它, 不过并不是说只有在 gn转载 2010-04-10 18:35:00 · 3070 阅读 · 0 评论 -
C++各大有名库的介绍——GUI
C++各大有名库的介绍——GUI转自:http://www.ithao123.com/cpluspluslib/0003.html 在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦原创 2010-04-10 18:39:00 · 798 阅读 · 1 评论 -
GTK 代码从Linux移植到Windows心得
调试代码的难度是首次编写这些代码的两倍,因此,如果你在编写代码时就已经发挥了全部的聪明才智,那么按照常理,你将无法凭借自己的智慧去调试这些代码。原创 2010-04-10 18:41:00 · 1177 阅读 · 1 评论 -
c/c++头文件
做到专业,应该是每个职业程序员应该要求自己做到的。1.License AgreementLicense Agreement应该加在每个头文件的顶部。Lua Sample: /*** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $** Lua - An Extensible Extension Lan转载 2010-06-28 20:59:00 · 1961 阅读 · 1 评论