C++介绍
文章平均质量分 70
shiwei0124
这个作者很懒,什么都没留下…
展开
-
孟岩:什么是高级C++?
什么是高级C++?——软件工业化时代的C++价值观孟岩《程序员》杂志社开门见山主要论点: 1. C++本质上是一种重“创新”而轻“生产”的语言,到目前为止仍然是主流语言中最适合技术创新的一个; 2. 1995年之前,整个软件产业处于“创新为王”的阶段,C++是最适合这个阶段的语言,这是C++红极一时的大背景和根本原因。 3. 1995年发生了一系列影响深远的事件,软转载 2009-08-06 11:41:00 · 975 阅读 · 0 评论 -
ATL::CStringT与std::basic_string
我们再来看看神奇的CString,前面其实也提到过的,在Visual C++中,CString实际上是对模板类CStringT的一个特化版本,TCHAR 是个变色龙,因此CString也是一个变色龙:typedef CStringTTCHAR, StrTraitMFCTCHAR > > CString; CStringT继承于CSimpleStringT模板类,它们之间的继承关系如图4-1转载 2009-09-08 14:10:00 · 4682 阅读 · 1 评论 -
关于#define和typedef
关于#define和typedef付吉祥 2009-05-29 10:36 请见代码:Code:#define a int; unsigned a i;//right typedef int b; unsigned b i;//wrong 问下typedef和宏定义为什么会有这个区别转载 2009-09-08 22:42:00 · 667 阅读 · 0 评论 -
ANSI、MBCS与UNICODE
4.5.2 ANSI、MBCS与UNICODE目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。ASCII码适用于所有拉丁文字,它用7位二进制数进行编码(其最高位原创 2009-09-08 14:05:00 · 602 阅读 · 0 评论 -
strcpy、wcscpy与_tcscpy
4.5.4 strcpy、wcscpy与_tcscpyC++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:char *strcpy(char *strDestination, const char *strSource); wchar_t *wcscpy(wchar_t *strDestination, const wchar_t *strSource);转载 2009-09-08 14:08:00 · 19895 阅读 · 0 评论 -
MFC/C++/C中字符类型CString, int, string, char*之间的转换
<ol class="hl-main ln-show" title="Double click to hide line number." ondblclick="function ondblclick(){linenumber(this)}">1 CString,int,string,char*之间的转换 string 转 CString CString.format转载 2009-09-08 14:35:00 · 718 阅读 · 0 评论 -
关于控制台程序输出重定向到IDE两个例子 之一
例子一:编写自己的IDE如何在图形界面中实时捕获控制台程序的标准输出本文未曾在商业媒体发表过, 如需转载, 请注明作者 [王咏刚] 和出处 [www.contextfree.net]IDE是集成开发环境(Integrated Development Environment)的简称。印象里有很多出色的IDE,比如JBuilder和Kylix,比如Visual Stud转载 2009-09-11 13:11:00 · 4289 阅读 · 1 评论 -
控制台应用程序的定向输出
在Windows编程中,并非每一个应用程序都需要一个图形用户界面(GUI),很多情况下,我们可以编写一个控制台应用程序,这样程序更小,加载更快,传输时间也短,同时也丝毫不牺牲程序应有的功能。这种程序特别适合那些在后台运行的程序,比如压缩、杀毒、上传下载等等。如果我们的确需要在GUI执行这些程序,以完成某些比如类似于磁盘格式化的功能,我们可以在GUI程序中创建一个新的进程,调用这些已有的控制台应用转载 2009-09-11 13:17:00 · 1356 阅读 · 0 评论 -
Windows下return,exit和ExitProcess的区别和分析
通常,我们为了使自己的程序结束,会在主函数中使用return或调用exit()。在windows下还有ExitProcess()和TerminateProcess()等函数。本文的目的是比较以上几种结束程序的方式的区别,并分析其原理。 首先我们用一个例子来说明几种结束方式的区别。测试环境为Windows XP HOME SP2,编译器为Visual Studio.net 2003测试代转载 2009-09-11 17:04:00 · 804 阅读 · 0 评论 -
C++中类的静态数据成员函数解析[转贴]
[font=宋体][size=3] [/size][/font]静态数据成员:下面看一个例子:#include class Point{public:void output(){}static void init(){ } };void main( void ){Point pt;pt.init();pt.output(); }这样编译是不会有任何错误的。下面这样看#include clas转载 2009-09-18 13:54:00 · 666 阅读 · 0 评论 -
define进行多行宏定义
define进行多行宏定义#define DORECOVERY()/ LED_RUN=1;/ VAL1=OFF;/ VAL2=OFF;/ PUMP=OFF;/ VAL3=ON;/ COMPRE=ON;#define转载 2009-10-13 14:08:00 · 12028 阅读 · 0 评论 -
MessageBoxA、MessageBoxW与MessageBox
再来看Windows API,实际上Windows也不得不为MessageBox()函数提供恼人的双版本:int MessageBoxA( HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType); int MessageBoxW( HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption,转载 2009-09-08 14:09:00 · 5501 阅读 · 0 评论 -
动态链接库 dll
链接库分为静态链接库和动态链接库,而动态链接库在使用时,又进一步分为装载时链接和运行时链接。装载时链接是指该动态链接库是在程序装入时进行加载链接的,而运行时链接是指该动态链接库是在程序运行时执行LoadLibrary(或LoadLibraryEx,下同)函数动态加载的。因此,由于动态链接库有这两种链接方式,所以在编写使用DLL的程序时,就有了两种可选方案。 可能有人会问“为什么需要装载转载 2009-09-10 10:17:00 · 825 阅读 · 0 评论 -
C++编译器及IDE(Dev_C++、WxDev_C++、VC等)
Dev-C++本软件就不用说了,这是pfan论坛上的首选IDE环境;他默认安装minGW作为编译器——就是windows化了的GCC编译器。版本应该是3.4;由于其编辑器使用简单,而内核gcc3.4对c99和c++2003的支持度都比较高,所以,这个软件比较适合标准C/C++初学者!除了支持外部库,Dev-C++还支持自己的开发包,你可以从升级“包”这个功能上获得许多有用的东西转载 2009-08-13 11:43:00 · 2241 阅读 · 0 评论 -
C++类库介绍
C++类库介绍 再次体现了C++保持核心语言的效率同时大力发展应用库的发展趋势!!在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于转载 2009-08-18 13:23:00 · 1215 阅读 · 0 评论 -
Visual Studio快捷键 [VS2008/VS2005] 强大的自动排版
Visual Studio快捷键 [VS2008/VS2005]***********************************************VS系统通用快捷键:1、自动排版(类似VC6中的Alt+F8) 编辑.格式化选定内容 Ctrl + K,Ctrl + F 根据周围的代码行,正确缩进选定的代码行。 2、注释与去掉注释功能。 编辑.注释选定内容 Ctrl + K转载 2009-09-02 14:07:00 · 1151 阅读 · 0 评论 -
UNICODE与ANSI的区别
什么是ANSI,什么又是UNICODE呢?其实这是两种不同的编码方式标准,ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。(对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放)Unicode码也是一种国际标准编码,采用二个字节编码,与ANSI码不兼容。目前,在网络、Windows系统和很多大型软件中得到应用。8转载 2009-09-02 17:58:00 · 848 阅读 · 0 评论 -
TAB Control控件 的使用方法
(转)VC中使用TAB Control控件(2009-06-21 10:49:43)标签:控件 杂谈 分类:vc学习VC中使用TAB Control控件 假如我现在有个SDI程序,View是Form View,想在上面放个Tab Control,包含两个Page。现在让我们来看看应该怎样处理。首先当然要增加一个Tab Control资源,然后利用Class Wizard,在Vi转载 2009-09-03 20:47:00 · 2467 阅读 · 0 评论 -
CDialog::OnInitDialog() 及“试图执行系统不支持的操作”
BOOL CmapfileDlg::OnInitDialog(){ CDialog::OnInitDialog(); 。。。。。。。} 作用:是响应WM_INITDIALOG消息的处理函数. 声明:OnInitDialog()说明:这里主要说明一个它与构造函数的一些相同点和不同点.相同点: 都可以进行初始化的工作.不同点:原创 2009-09-07 13:02:00 · 6446 阅读 · 3 评论 -
CWnd指针和HWnd
HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。这是一个SDK概念。 CWnd是MFC类库中所有窗口类的基类。微软在MFC中将所有窗口的通用操作都封装到了这个类中,如:ShowWindow等等,同时它也封装了窗口句柄即m_hWnd成员。 由HWnd得到CWnd*:CWnd wnd;HWnd hWnd;wnd.Attach(hWnd);通常一个窗口资源已经和一个CWnd类的对象关原创 2009-09-04 14:34:00 · 2190 阅读 · 0 评论 -
TCHAR、_T与_TEXT
4.5.3 TCHAR、_T与_TEXT计算机最初使用的不是UNICODE,最初的系统和程序都采用的是ANSI或者MBCS,那么,问题来了:我们开发程序的时候,是采用char还是wchar_t?观察如下代码:char msg[] = "学习C++"; 当我们准备采用wchar_t时,则需要改成:wchar_t msg[] = L"学习C++"; 太麻烦了!幸运的是,Visua转载 2009-09-08 14:07:00 · 2183 阅读 · 0 评论 -
关于CString总结
前言:串操作是编程中最常用也最基本的操作之一。 做为VC程序员,无论是菜鸟或高手都曾用过Cstring。而且好像实际编程中很难离得开它(虽然它不是标准C++中的库)。因为MFC中提供的这个类对我们操作字串实在太方便了,CString不仅提供各种丰富的操作函数、操作符重载,使我们使用起串起来更象basic中那样直观;而且它还提供了动态内存分配,使我们减少了多少字符串数组越界的隐患。但是,我们在使用过转载 2009-09-08 14:45:00 · 468 阅读 · 0 评论 -
(转)如何让一个动态链接库文件debug和release编译的时候生成不同的文件名
果然,去掉DEF文件中的LIBRARY是问题的关键!不过用 #ifdef _DEBUG #pragma comment(linker, "/out:debug/test_d.dll") #else #pragma comment(linker, "/out:release/test.dll") #endif 有问题, LI转载 2009-09-09 11:32:00 · 1266 阅读 · 0 评论 -
转载--c++中构造函数初始化的方法以及主要区别
一、我的问题是关于初始化C++类成员的。我见过许多这样的代码(包括在你的栏目中也见到过): CSomeClass::CSomeClass() { x=0; y=1; } 而在别的什么地方则写成下面的样子: CSomeClass::CSomeClass() : x(0), y(1) { } 我的一些程序员朋友说第二种方法比较好,但他们都不知道为什么是这样。你能告诉我这两种类成员初始化方法的区别吗?转载 2009-12-03 11:02:00 · 860 阅读 · 1 评论