随笔分类 - C++
摘要:方法一:需要你手动给工程做如下设置:右键工程属性-》配置属性-》链接器-》系统-》子系统 选择下拉的第一个控制台方法二:ctrl+f5进行运行调试第一种我的没有效果,可能第一种说的是vs2010,我的vs2008
阅读全文
摘要:代码之下,了无疑问#include <Windows.h>#include <iostream>using namespace std;class fuck{private: RECT m_rc; static const RECT m_emptyRc;public: fuck(RECT rc = m_emptyRc){m_rc=rc;cout<<m_rc.left<<":"<<m_rc.top<<":"<<m_rc.right<<":"&
阅读全文
摘要:explicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如:class things{ public: things(const std::string &name = ""): m_name(name),height(0),weight(10){} int CompareTo(const things & other); std::string m_name; int height; in...
阅读全文
摘要:iostream 标准库支持内存中的输入/输出,只要将流与存储在程序内存中的 string 对象捆绑起来即可。此时,可使用 iostream 输入和输出操作符读写这个 string 对象。标准库定义了三种类型的字符串流: • istringstream,由 istream 派生而来,提供读 string 的功能。 • ostringstream,由 ostream 派生而来,提供写 string 的功能。 • stringstream,由 iostream 派生而来,提供读写 string 的功能。 要使用上述类,必须包含 sstream 头文件。 与 fstream 类型一样,上述类型由 i
阅读全文
摘要:c++局部函数中使用new分配内存或者create*创建COM接口,由于程序可能在函数内下面的判断代码失败退出, 这样每次都需要delete内存或者release, 不仅麻烦而且可能忘记其中某个,造成资源没有及时释放.下面的通用的类可以解决这些问题://COM版template< class T >class CSafeRelease{public: CSafeRelease() : m_p(NULL){}; CSafeRelease(T* p) : m_p(p) { }; ~CSafeRelease() { if( m_p != NULL ) m_p->Release();
阅读全文
摘要:概述 由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定,也很难采用函数重载.对这种情况,有些人采用指针参数来解决问题.下面就c语言中处理不定参数数目的问题进行讨论. 定义 大家先看几宏. 在VC++6.0的include有一个stdarg.h头文件,有如下几个宏定义:#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) ) ..
阅读全文
摘要:发信人: NULLNULL (空空), 信区: VC标题: C++资源之不完全导引(转载)发信站: 武汉白云黄鹤站 (2005年05月05日01:42:54 星期四), 站内信件C++资源之不完全导引(完整版)来源:www.csdn.net------------------------------------------------------------------------------------------------------------------------------------------------------------1,前言 无数次听到“我要开始学习C++!”的.
阅读全文
摘要:原来使用google reader,结果改版后感觉特别别扭就转到有道阅读了,最近为了快速收取邮件,使用了Foxmail,然后看见下面有个rss功能,感觉还算不错,就像将有道阅读导入Foxmail,结果发现Foxmail弱爆了,竟然由于有道导出的xml的node的属性顺序不同导入后都成了文件夹,一个一个加也挺麻烦的,就想写个转换程序,反正比较简单,就是简单的换些属性的顺序。#include <iostream>#include <tchar.h>#include <string>using namespace std;#include "rapidx
阅读全文
摘要:C语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的读写操作 fgetc 从文件中读取一个字符 fputc 写一个字符到文件中去 fgets 从文件中读取一个字符串 fputs 写一个字符串到文件中去 fprintf 往文件中写格式化数据 fscanf 格式化读取文件中数据 ...
阅读全文
摘要:C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对象所做的任何输入输出操作实际就是对该文件所做的操作。要通过一个流对象打开一个文件,我们使用它的成员函数op
阅读全文
摘要:前言:复杂类型说明 要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧:int p; //这是一个普通的整型变量int *p;/*首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P 是一个返回整型数据的指针*/int p[3];/*首先从P 处开始,先与[]结.
阅读全文
摘要:这种错误一般都是越界造成的,例如:char buffer[10];buffer[11] = '\0';参考:http://forums.codeguru.com/showthread.php?t=299770
阅读全文
摘要:void ImageFromIDResource(CImage& image, UINT nID, LPCTSTR lpType) { HINSTANCE hInst = g_hInst; HRSRC hRsrc = ::FindResource (hInst,MAKEINTRESOURCE(nID),lpType); if(hRsrc == NULL) return; DWORD dwLen = SizeofResource(hInst, hRsrc); BYTE* lpRsrc = (BYTE*)LoadResour...
阅读全文
摘要:cout<<(1>-2)<<endl; // 1 正常,都是有符号数 cout<<((unsigned int)1>-2)<<endl; // 0 -2被转换为无符号数. cout<<((unsigned int)1>-2.)<<endl; // 1 float不存在无符号数,所以,无符号数肯定大于float型的负数!以下实验均在virual c++6中运行通过这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类
阅读全文
摘要:问题:有时候用ifstream或ofstream打开带有中文路径的文件会失败。例如: ofstream outFile("f:\\新建文件夹\\fuck.xml",ios_base::trunc | ios_base::out | ios_base::binary); outFile<<"<xml></xml>"; outFile.close();解决方法1:使用wofstream wofstream outFile(_T("f:\\新建文件夹\\fuck.xml"),ios_base::trunc
阅读全文
摘要:#include <iostream>#include <cstring>using namespace std;int main(){ if(-1<=strlen("Hello world")) { cout<<"-1<=strlen(\"Hello world\")"<<endl; } int nLen=strlen("Hello world"); if(-1<=nLen) { cout<<"-1<="<
阅读全文
摘要:include <iostream>#include <map>using namespace std;int main(){ map<string,map<string,string> > mapmaps; map<string,string> mapmap; mapmap.insert(pair<string,string>("ysl","ysh")); mapmaps.insert(pair<string,map<string,string> >(&qu
阅读全文
摘要:今天意外见识了这个名词是在CSDN帖子里http://topic.csdn.net/u/20120406/03/f59790a9-67b8-479c-9f43-9bc413fae761.html?95101 其实这个困惑早就出现了,记得最早是看到了这篇文章http://www.cnblogs.com/wenzhang/archive/2011/12/30/2308052.html,当时还请教了作者,但始终没有说服自己的理由,今天 再看到确实有种乞重见老朋友的感觉,所以就上网搜搜这方面的帖子了。 首先来看一个简单的例子吧:#include <iostream>using namesp
阅读全文
摘要:#include <windows.h>int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil){ char system[MAX_PATH]; char pathtofile[MAX_PATH]; HMODULE GetModH = GetModuleHandle(NULL); //得到当前执行文件的全路径 GetModuleFileName(GetModH,pathtofile,sizeof(pathtof...
阅读全文
摘要: 问题 在面向对象系统设计中经常可以遇到以下的两类问题: 1)为了提高内聚(Cohesi on)和松耦合(Coupli ng),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口。这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。这里很容易出现的一个问题n 多的子类继承自抽象基类,我们不得不在每次要用到子类的地方就编写诸如ne w ×××; 的代码。这里带来两个问题:1 客户程序员必须知道实际子类的名称(当系统复杂后,命名将是一个很不好处理的问题,为了处理可能的名字冲突,有的命名可能并不是具有很好的可读性和可记忆性,就姑且不论不同
阅读全文

浙公网安备 33010602011771号