C++
空中海
这个作者很懒,什么都没留下…
展开
-
C++ 读书目录
c++推荐书籍C++ 书籍大汇语言基础入门:1. C++ Primer 《C++入门》(通常不用中文名)by Stanley B. Lippman有第三版和第四版,如其名,是C++入门的不二选择,是全面广泛的参考书目,内容丰富,笔触严谨。如果说Bjarne Stroustrup是C++之父的话,那么Lippman可以说是C++之母了:)晨星:适合有丰富C经验,缺转载 2013-04-03 05:56:56 · 765 阅读 · 0 评论 -
c++如何让程序只启动一个实例
1. 用互斥(Mutex),Mutex本来是多线程同步用的,防止多个线程访问同一资源而引发冲突。用CreateMutex可以创建Mutex对象,实质上是一个kernel对象。 在任何Win32程序(包括GDI和Console)的启动部分加上以下代码(Console程序的main函数、MFC程序的CWinApp派生类的InitInstance成员函数、RawSDK程序的WinMain函转载 2014-06-19 15:57:27 · 708 阅读 · 0 评论 -
配置文件类
#pragma once#include #include #include #include #include #include #include using namespace std;#define MAX_FILE_NAME_LEN 256class CConfig{public: CConfig(void);原创 2014-08-11 08:54:15 · 518 阅读 · 0 评论 -
根据路径建目录
//日志文件 string LogFilePathStr=config.GetConfigstring("ConfigInfo","LogFilePath","E:\\Log"); LogFilePathStr.append(Delimiter); LogFilePathStr.append("LogFile"); memcpy(LogFilePath,Lo原创 2014-08-11 09:41:44 · 523 阅读 · 0 评论 -
新建接收数据线程
unsigned nThreadId; ////新起用来监听端口过来的连接请求线程 HANDLE hThreadListenPort = (HANDLE)_beginthreadex( NULL, 0, &ListenPort, NULL, 0,&nThreadId );原创 2014-08-11 09:47:27 · 561 阅读 · 0 评论 -
如何让程序只运行一个实例
在程序的开始加上这样一段代码:原创 2014-08-11 08:49:39 · 551 阅读 · 0 评论 -
日志类
//头文件#pragma once#include #define PathLenth 260 //路径长度#define FileNameLenth 260class LogFile{public: enum LOG_TYPE {YEAR = 0 , MONTH = 1 , DAY = 2 } ; public:原创 2014-08-11 09:35:07 · 549 阅读 · 0 评论 -
总结几种结构体初始化方法
2013-02-27 10:47 157人阅读 评论(0)收藏 举报结构体能自由组装数据,是一种很常见的数据打包方法。当我们定义一个结构体后,没有初始化就使用,就会使用到垃圾数据,而且这种错误很难发现。对于定义的任何变量,我们最好都先初始化。 除了使用memset和ZeroMemory之外,有没有更简单的方法初始化呢?因为有时候每定义一个结构体,就使用一次memset,转载 2014-10-28 08:47:21 · 666 阅读 · 0 评论 -
C++继承、虚继承、虚函数类的大小问题
一、真空类class CNull{};长度:1内存结构:??评注:长度其实为0,这个字节作为内容没有意义,可能每次都不一样。 二、空类class CNull2{public: CNull2(){printf("Construct/n");} ~CNul转载 2014-10-28 08:27:45 · 572 阅读 · 0 评论 -
C++ sizeof 在类中的使用
说明:1、空类 总是返回 1 原因:类要创建对象,要预留空间;最小的内存单位为 1; (类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址)2、类 跟 struct一样 需要考虑对齐和补齐的问题 3、类中含有 static 成员 sizeof不计其大小 原因:因为static成员是分配在全局区为类的所有对象共享4、带virtua转载 2014-10-28 08:46:06 · 824 阅读 · 0 评论 -
VS2010项目的部署与安装
winform程序,我想进行安装。1、在解决方案中 ——点击右键——添加2、然后选择 安装和部署 ——安装向导 可以更改名称3、点击 下一步4、然后选择上那3个 5、点击完成之后 会出现如下界面6、点击应用程序文件夹 选择主输出 ——右键 创建快捷方式 7、创建完快捷方式后——右键 剪切 在选择 用户桌面 —— 右键粘贴 这里就是转载 2014-10-30 13:30:15 · 2188 阅读 · 0 评论 -
配置文件读取和写入类
windows下的配置文件读取和写入类头文件原创 2014-05-21 10:23:29 · 663 阅读 · 0 评论 -
std::string用法
在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化string类的字符操作:const char &operator[](int n)c转载 2014-04-10 13:06:10 · 526 阅读 · 0 评论 -
何时调用拷贝构造函数
拷贝构造函数是一种特殊的构造函数: 拷贝构造函数是由编译器调用,用来完成一系列基于同一类的其他对象的构件及初始化。 拷贝构造函数的一般形式: 类名(类名 &变量名) { 函数体; } 拷贝构造函数的名称必须和类名一致,形参必须是唯一的、不可改变的本类型的一个引用类型的变量。 拷贝构造函数调用的三种情况: 1.对象以值传递的方式传入函原创 2014-01-21 21:37:32 · 625 阅读 · 0 评论 -
静态库编写方法
VC新建一个Win32 Static Library工程LibTestModel添加两个文件:LibTest.h和LibTest.cpp//LibTest.h文件中添加代码#ifndef LIB_H#define LIB_Hextern "C" int add(int x,int y); //声明为C 编译、连接方式的外部函数#endif//在LibTest.c原创 2014-01-23 19:37:17 · 640 阅读 · 0 评论 -
MFC皮肤加载例子和皮肤使用方法
实例程序中使用方法:1、将SkinPPWTL.lib skinppwtl.dll SkinPPWTL.h三个文件及相应皮肤拷贝至工程文件夹下的Skin文件夹下2、在StdAfx.h文件中加入#include "./Skin/SkinPPWTL.h" // //.. #endif // _AFX_NO_AFXCMN_SUPPORT #include "SkinPPWTL.h"原创 2014-01-23 19:45:19 · 3818 阅读 · 0 评论 -
静态库的调用方法
1.包含静态库对应的头文件2.#pragma comment(lib,"XXXX.lib") //静态库文件名 XXXX.lib3.调用静态库中的函数原创 2014-01-23 19:42:43 · 1097 阅读 · 0 评论 -
fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h
错误描述:fatal error C1010:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include"stdafx.h"”?错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include"stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。 (因为工程中的每个cpp文件属性默认都是使用预编译转载 2014-04-14 14:43:06 · 789 阅读 · 0 评论 -
TinyXml快速入门
对于xml文件,目前我的工作只是集中在配置文件和作为简单的信息文件来用,因此我不太喜欢使用msxml这种重量级的xml解析器,特别是使用msxml解析xml涉及到复杂的com类型转换,更是令人感觉繁琐。因此对于简单的xml文件的解析,我更愿意使用开源的TinyXml。 首先介绍一下TinyXml吧。TinyXML是目前非常流行的一款基于DOM模型的XML解析器,简单易用且小巧转载 2014-04-14 16:35:50 · 684 阅读 · 0 评论 -
TinyXml使用方法
本文用一个详细的例子说明了TiXml的使用方法。如写、查找、插入、替换、加载、遍历等常见操作。 首先简单介绍一下TinyXml,要看详细的在网上搜搜了^_^:1、TinyXml源代码只有4个cpp文件和2个头文件。2、首先要理解TinyXml中的各个基本类型之间的关系,看看这个继承图大家就会很明白了! 可以看到TinyXml中的注释comment,声明declara转载 2014-04-14 16:48:05 · 898 阅读 · 0 评论 -
c++中double转换成string型(浮点数的格式化)
在日常编程中--包括对话框、关系数据库、金融程序、SMS程序及一切处理数据文件的程序,需要控制小数点后的小数位的情况非常普遍,本文中将要讲 解如何用简单的方法来控制小数位,另外,还要揭开字符串及数据精度的一点点小秘密。问题的引出如有一个函数,其可接受一个long double参数,并将参数转换为字符串,结果字符串应保留两位小数,例如,浮点值123.45678应该生成“123.45”转载 2014-04-29 15:32:52 · 3016 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的转载 2014-03-24 13:27:09 · 569 阅读 · 0 评论 -
C++代码注释规范
1 源文件头部注释Ø 列出:版权、作者、编写日期和描述。Ø 示例:/*************************************************Copyright:buptAuthor:Date:2010-08-25 Description:描述主要实现的功能*******************************************转载 2014-05-06 16:49:13 · 594 阅读 · 0 评论 -
C++标准模板库
作为C++标准库相当重要的一部分,STL库提供一系列组件操作。它主要可以分为容器、迭代器、基本算法、函数对象以及内存分配器和配接器六个部分。整个STL库的代码都采用模板函数以及模板类的方式实现,具有高度的通用性。对于传统的应用程序来讲,模板库支持并且倡导一种新的编程风格,即称为泛型编程思想,以通用的模板方式来编写应用程序中的数据结构与算法。16.1 STL常见容器C++标准S转载 2016-04-22 08:30:26 · 512 阅读 · 0 评论