C++
文章平均质量分 67
BEN1978
这个作者很懒,什么都没留下…
展开
-
c++学习之一
.const总结http://qqtornado.blog.sohu.com/1418780.htmlC++语言概述——C++常类型(const)http://www.7880.com/Info/Article-4156af40-1.html#define f(x) x*xi = f (4+4) / f (2+2); // 4 + 4 * 4 + 4 / 2 + 2 * 2 + 2 =原创 2006-05-11 16:37:00 · 1277 阅读 · 0 评论 -
【转】STL之父访谈录
转自:http://www.jr163.org/cup2/9/9597.htmSTL之父访谈录 STL之父访谈录1995年3月,Dr.Dobbs Journal特约记者, 著名技术书籍作家Al Stevens采访了STL创始人AlexanderStepanov. 这份访谈纪录是迄今为止对于STL发展历史的最完备介绍, 侯捷先生在他的STL有关文章里推荐大家阅读这篇文章. 因此我将该文全文转载 2006-06-04 18:49:00 · 1623 阅读 · 1 评论 -
【转】c++文件复制
转帖,转帖位置忘了使用C++标准程序库的输入输出流(I/O Stream)复制文件,存在许多的方法,方法一:逐个字符复制#include std::ifstream input("in",ios::binary);std::ofstream output("out",ios::binary);char ch;while (input.get(ch)) output 注意:如果使用input>>转载 2006-06-07 22:13:00 · 8961 阅读 · 2 评论 -
STL极简地完成“输入——排序——输出”的功能
非原创,不记得哪里得到的这段代码。完美的程序,极简地完成“输入——排序——输出”的功能,尽显STL的魅力! typedef vector int_vector; typedef istream_iterator istream_itr; typedef ostream_iterator ostream_itr; typedef back_insert_iterato原创 2006-06-09 17:05:00 · 1739 阅读 · 0 评论 -
常用算法
1、求素数参考:http://www.math.utah.edu/classes/216/assignment-07.html自然数由素数(质数)与合数组成。素数如 2 3 5 7 11 13 17 19 23 29等等,只能被1整除。The Sieve of Eratosthenes埃拉托尼筛子是求素数的高效算法。const int N = 100; //求100以内的素数int z原创 2006-06-11 11:34:00 · 2156 阅读 · 0 评论 -
流的使用之一:清空输入缓冲区、string类型转换
参考:http://www.programfan.com/club/showbbs.asp?id=176827清空输入缓冲区的方法在获取用户输入时,如果发生类型不匹配的错误,输入设备对象将处在出错状态,不能继续输入信息。例如,cin >> i; 输入一个字幕a,就会出现错误。这时,需要清空输入缓冲区,以继续输入信息。fflush (stdin)在c++标准中,未定义其返回,vc对其原创 2006-06-29 13:05:00 · 4370 阅读 · 0 评论 -
流的使用之二:字符串输入流和文件输入流
字符串流输入:istringstream iss (strSrcObject);cout // rdbuf 获取 stream buffer 的指针,输出后定位到尾部iss.seekg (0, ios::beg); // 定位到 stream buffer 的头位置cout // str 等同于 rdbuf () -> str (),输出后定位到头部cout // 输出的是iss对象的地址i原创 2006-06-29 18:37:00 · 2841 阅读 · 0 评论 -
流的使用之三:字符串的使用
字符串string的主要操作,除了字符串流stringstream。同时大部分操作也适用于其它STL容器如vector、list等 char a[] = "TELEPHONE_NUMBKER"; string str, str1("0123456789"), str2 (a), str3 (a, a + 9), str4 (str3.begin () + 1, str3.end () - 2原创 2006-07-05 19:51:00 · 1612 阅读 · 0 评论 -
CString,int,string,char*之间的转换
string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = string.c_str(); CString 转 string s转载 2006-12-11 10:33:00 · 5749 阅读 · 0 评论 -
VC中利用多线程技术实现线程之间的通信
VC中利用多线程技术实现线程之间的通信 http://www.sina.com.cn 2006年02月06日 13:31 天极yesky转载 2006-12-11 15:47:00 · 1524 阅读 · 0 评论 -
LNK2001 unresolved external symbol错误
LNK2001 unresolved external symbol错误LNK2001 unresolved external symbol错误 这个错误一般有两种情况 1) 选择了错误的工程类型,导致系统寻找其实不需要的_main符合。 我们编制的程序有两种,Windows程序和Console程序,如果你编制的程序不是Console程序,你必须首先创建一种合适的工程转载 2006-12-05 11:04:00 · 2953 阅读 · 0 评论 -
为什么会出现LNK2005,LNK1169错误
许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三方库时遇到的。对于这个问题,有的朋友可能不知其然,而有的朋友可能知其然却不知其所以然,那么本文就试图为大家彻底解开关于它的种种疑惑。 大家都知道,从C/转载 2006-12-05 16:50:00 · 3375 阅读 · 1 评论 -
字符,字节和编码
字符,字节和编码[转载:http://www.regexlab.com/zh/encoding.htm]级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确转载 2006-09-27 16:11:00 · 1649 阅读 · 0 评论 -
MFC框架类互访图
这是针对SDI画的MFC框架类互访图,对于MDI基本上适用。在SDI中,视图窗口、工具栏、状态栏都是主框架窗口的子窗口。 例子:从非框架类的CAb访问 CDrawItApp* pApp = (CDrawItApp*) AfxGetApp (); CFrameWnd* pWnd= (CFrameWnd*)pApp->m_pMainWnd; pWnd = (CFrameWnd原创 2006-07-14 13:24:00 · 2282 阅读 · 0 评论 -
【转】C++经验谈之一
转自:http://www.beliefxn.com/read.asp?id=325一、你需要一个函数将一个数组赋值为等差数列,并将会在函数的外部使用它。 不合理: int *GetArray( int n ) { int *p = new int[n]; for ( int i = 0; i { p[i] = i; } return p;原创 2006-06-02 16:04:00 · 1298 阅读 · 0 评论 -
【转】C语言测试题的讲解分析
补充:char* p;p = a;// 编译不能通过,未给*p分配内存,不同于下面的做法int a;printf ("%x", &a);// 打印a的地址,好像是在栈区结论:对指针变量,一定要显式分配内存。char* p = new char;以下转自:http://blog.csdn.net/zhangxiaoxiang/archive/2006/转载 2006-05-22 09:22:00 · 1536 阅读 · 0 评论 -
不用库函数进行字符串和整型数据的相互转换
// 字符串转换成整型数据double stoi (char* string = NULL){ if (string == NULL) throw 1; // 空字符串判断 int i = 0; double value = 0; while (string[i] != /0) // 循环条件 { if (string[i] == ) continue; // 空格判断原创 2006-05-20 22:43:00 · 5116 阅读 · 0 评论 -
流的初体验(未完成)
Typical constructor:strstream( char* pch, int nLength, int nMode );fstream( const char* szName, int nMode, int nProt = filebuf::openprot );stdiostream( FILE* fp );strstreambuf( char* pch, in原创 2006-05-13 17:53:00 · 1410 阅读 · 0 评论 -
声明类和结构体时成员顺序将影响其大小
struct A // sizeof (A) == 12{ char b; int a; char c;};struct B // sizeof (B) == 8{ char b; char c; int a;};这是编译器的事情,把分配内存的最小单位划分成了4Byte,这是为了寻址更加迅速,牺牲了空间。结构体A存放b占用了4B,存放a占用了4B,存放c占用了4B;结构体A存放b、原创 2006-05-15 10:56:00 · 2491 阅读 · 0 评论 -
enum枚举入门
enum 枚举类型当一种变量的可能取值非常有限时,可以用 enum 获得直观的效果,如###1。。在软件设计的最初阶段(概念设计),为避免过多纠缠语言的技术细节,需要用最直观的表述方式来描述问题空间,伪代码就是一个良好的运用。enum并不在该阶段使用,但可以达到类似的目的,即使思维直接作用于问题,而非电脑或者说程序语言。enum [tag] {enum-list} [declarato原创 2006-05-16 16:45:00 · 2118 阅读 · 0 评论 -
【转】利用空指针简化代码,提高效率
转自:http://www.ilephone.com/viewthread.php?tid=3086这里的写法,可以避免使用 for 循环,减少栈空间内存的使用和减少运行时的计算开销!这里的写法,可以避免使用 for 循环,减少栈空间内存的使用和减少运行时的计算开销! #include #include using namespace std; void转载 2006-05-16 16:55:00 · 1360 阅读 · 0 评论 -
指针、数组、二级指针、指针数组与字符串
先来一组指针和数组的比较void TestForVectorAndPointer (){ char a[] = "abcd"; //栈中存放数组a[4],数组存放abcd/0 printf("%x %s/n", a, a); // 0x0012FF24 abcd //对数组名操作 print原创 2006-05-17 13:23:00 · 3942 阅读 · 2 评论 -
运算符的优先级和结合律
一元高于二元数学运算 > 移位 > 比较 > 位逻辑 > 普通逻辑 > 赋值运算符的优先级和结合律从网上转来的下表列出了所有动作脚本运算符及其结合律,按优先级从高到低排列。 运算符 说明原创 2006-05-17 16:59:00 · 2686 阅读 · 0 评论 -
new一个数据,在初始化时的不慎,将导致 delete[] 时出错,列举了几点参考
错误1 char* a = new char[100]; for (int i = 0; i *(a++) = 0;看起来没有什么问题,事实上,指针a指向的地址在不断变化,最后需要释放空间时会出错,具体原因还不太清楚: delete[] a; // error: violate access ...正确的做法之一: char* a = new char[100]; int原创 2006-05-14 22:07:00 · 1973 阅读 · 0 评论 -
一句话经验:sizeof是操作符而不是函数
sizeof (int) 说明 sizeof 不是一个函数,函数不接受int做为形参。MSDN的说明如下:The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword return原创 2006-05-15 18:44:00 · 1624 阅读 · 0 评论 -
C++的头文件们
1、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include //定义各种数据类型最值常量#include /转载 2006-05-11 16:32:00 · 1096 阅读 · 0 评论 -
用char*实现的一个完整的类,包含类的基本操作:一般构造、拷贝构造、赋值转换、重载 > >,< <
一个完整的类,需要有:一般构造函数、拷贝构造函数、赋值函数,涉及数据存储的,还应该对移位运算符进行重载。同时对一个运算符进行重载及友元重载时,调用顺序为先重载,后友元重载。#include #include #include class Person{ friend ostream& operator // declaration of overriding operator原创 2006-05-15 11:49:00 · 1549 阅读 · 0 评论 -
内存分配的方式及特点分析
内存分配的方式及特点分析存储区 位模式 int a; // stack, Random figure assigned static int b; // global & static area, Figure 0 assigned int* c = new int[5];原创 2006-05-17 17:26:00 · 1845 阅读 · 0 评论 -
用string实现的一个完整的类,包含以下操作:重载运算符 > >,< < ,string模板类,fstream对二进制数据读写
///// 一个完整的类,包含以下操作:重载运算符 >,赋值转换,string模板类,fstream对二进制数据读写#include #include #include using namespace std;class Tperson; // declaration of Tperson classostream& operator // declaration o原创 2006-05-13 15:08:00 · 2869 阅读 · 2 评论 -
DLL“地狱”的原因及其解决方案
转自:http://www.yesky.com/80/1910580.shtml 概要 本文将要介绍DLL的向后兼容性问题,也就是著名的“DLL Hell”问题。首先我会列出自己的研究结果,其中包括其它一些研究者的成果。在本文的最后,我还将给出“DLL Hell”问题的一个解决方案。 介绍 我曾经接受过一个任务,去解决一个DLL版本更新的问题————某个公司给用户提供了一套S转载 2006-05-15 14:17:00 · 1387 阅读 · 0 评论 -
DLL与LIB
.dll和.lib都是程序集合,便于代码重用。都是二进制的文件。.dll也叫动态链接库,与程序链接的方式为运行时链接(run-time linked),为PE(portable executable)格式,也就是程完整的程序。.exe、.dll、.fon、.mod、.drv、.ocx等等都是动态链接库。如.exe为系统调用的函数集合。.dll不存在同名引用,且有导出表,与导入表。.lib也原创 2006-06-15 20:12:00 · 8929 阅读 · 1 评论