
重构C/C++
文章平均质量分 81
三少GG
解决一些遇到的小麻烦
展开
-
VS2008 中关于#include "iostream.h"
C语言里头文件#include "iostream.h" 在vs2008中使用时,是C++的输入输出流。目前ANSI中不应该是这样写,而应该写作:#include并且要加上名称空间语句using namespace std; cout是在std那个命名空间里面的,必须加个using namespace std,或者直接std::cout原创 2009-11-21 12:46:00 · 1959 阅读 · 2 评论 -
standard IO library---标准IO库函数定义在stdio.h中
standard IO library标准IO库函数定义在stdio.h中fopen#include FILE *fopen(const char *filename, const char *mode);mode:"r" "rb"以只读方式打开文件,rb在其他系统中表示以二进制格式打开"w" "wb"以写方式打开,会清空文件内容"a" "ab"以附加方式打开"r+" "rb+" "r+b"读转载 2010-05-10 02:07:00 · 1666 阅读 · 0 评论 -
【C++繁星】(1): iostream;template;inline
1.iostream iostream 的意思是 输入输出流 直接点说就是in(输入) out(输出) stream(流) 取 in out 的首字母与 stream 合成C++语言中 #include是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。 在旧的标准C++中,使用#include 但在新标准中,用#include,而且在VS中编程的同时要注意要添加: using namespace std; 在C++中,输入输出流被定义为类。C转载 2010-09-20 22:01:00 · 1474 阅读 · 0 评论 -
【C++繁星】(2):assert ; cerr ; cmath
C/C++ 中的assert()宏 断言机制ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。------------------------------------------------------------------------------------------转载 2010-09-21 19:57:00 · 1983 阅读 · 1 评论 -
C++“读取位置 0x****** 时发生访问冲突”的可能原因
<br /><br />这种错误的意思一般是指访问了不属于自己的内存空间,出现这种错误有几种原因:<br /> <br />1、给一个数组分配了比较小的内存空间,然后又给该数组赋了一个比较大的值,举例说明:<br /> Cpp代码 char buf[80]; buf = "C++“读取位置 0x****** 时发生访问冲突”的可能原因C++“读取位置 0x****** 时发生访问冲突”的可能原因"; <br />解决方法:给数组分配更大一些的内存空间,如char buf[1000];<br /> <br原创 2010-12-10 01:42:00 · 64585 阅读 · 8 评论 -
关于头文件的内容--cdecl
<br />其他回答 共 1 条<br />动态存储分配函数头文件,当对内存区进行操作是,调用相关函数.ANSI标准建议使用stdlib.h头文件,但许多C编译要求用malloc.h,使用时应查阅有关手册. <br /> <br /> <br />===============================================================================<br />/* alloc.h memory management fu原创 2010-12-11 17:32:00 · 1739 阅读 · 0 评论 -
用VS2010编写C程序或VC++程序的步骤
<br />http://hi.baidu.com/adangel/blog/item/e98b20f5f97897d5f3d38558.html<br /> <br />用VS2010编写C程序或VC++程序的步骤2010年06月01日 星期二 20:55<br />以前都是用vc++6.0编写调试程序的,但是win7装的是vs2010突然发现没法调试了,其实只是使用不当而已,因为vs里面是不能直接编译c程序的,也就是不能像vc6那样直接编译。呵呵。<br />具体解决步骤如下:<br />1、要点击新建转载 2010-10-23 10:39:00 · 3679 阅读 · 0 评论 -
OpenCV 2.1.0 with Visual Studio 2010(1)
如果Debug下不能运行,则切换到Release版本下!!!(以前网上查到,不明真相) 实践中可用的方案1:http://blog.aguskurniawan.net/post/OpenCV-210-with-Visual-Studio-2010.aspxOpenCV 2.1.0 with Visual Studio 2010By Agus Kurniawan23. 六月 2010 00:24OpenCV (Open Source Computer Vision) is a library of pro转载 2010-11-09 20:51:00 · 1972 阅读 · 0 评论 -
关于main函数的(int argc,char argv[])
1. int main(int argc,char **argv)//argc,argv[]是命令行参数,其中argc室参数的个数,argv[]存的是参数的字符串,比如你做好了一个有命令行参数的程序存在D盘,那么在c提示符中输入D://程序名.exe aa bb aa 其中aa bb aa就是参数argc=4 argv[0]=D://...exe argv[1]=aa 以此类推{ int contral=0; if(argc>1)//如果参数除路径以外还有其他的 i转载 2010-11-10 14:42:00 · 1799 阅读 · 0 评论 -
OpenCV 2.1.0 with Visual Studio 2010(2)
如果Debug下不能运行,则切换到Release版本下!!!!(pom 和CLEARMetrics两个程序都是如此!!!都用了opencv,release下才可以运行,否则出现各种错误问题,比如 “vector iterators incompatible”实践中可用的方案2:以下配置方法仅属于个人见解;若有什么不对的地方请指教啊。在完成每一步骤后,记住点击“确定”,以确保你的设置成功。在某些步骤中注意要在Debug 和 Release 分别进行配置。转载 2010-11-09 20:58:00 · 2504 阅读 · 0 评论 -
【转】Visual Studio快捷键大全||vs改变字体显示||visual assist丰富代码颜色
快捷键的使用可以简化大家的操作,在一定程度上提高工作的效率,下文中将为大家介绍一些VS中经常用到的快捷键,希望对大家有用。CTRL + SHIFT + B 生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O 打开项目 CTRL + SHIFT + C 显示类视图窗口 F4 显示属性窗口 SHIFT + F4 显示项目属性窗口 CTRL + SHIFT + E 显示资源视图 F12 转到定义 CTRL + F1原创 2011-05-11 10:57:00 · 3800 阅读 · 0 评论 -
【调试】VS2010中的调试技巧(1)
【本文地址】http://blog.joycode.com/scottgu/archives/2011/02/24/116535.joy【大牛博客】http://blog.joycode.com/scottgu/VS2010中的调试技巧By devdivchina | Published: 2011 年 02 月 24 日原文发表地址:Debugging Tips with Visual Studio 2010原文发表时间:Wednesday, August 18, 2010 9:48 PM这是我的博客中关转载 2011-05-11 18:27:00 · 1367 阅读 · 0 评论 -
【温故知新C/C++】01:C++ ofstream和ifstream||c_str||atoi
<br />1. ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;<br /> 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:<br />1、插入器(<<)<br /> 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'/n';就表示把字符串"Write Stdout"和换行字原创 2011-03-27 21:27:00 · 1708 阅读 · 0 评论 -
【各种调试】种种Bug
1. G:Win7 下 vs2008 调试MFC winsocket时遇到此问题: VC++ 2008 连接器问题 1>LINK : fatal error LNK1000: Internal error during IncrBuildImage每次编译都会出现这个问题在Windows 7下1>LINK : fatal error LNK1000: Internal error during IncrBuildImage 解答:返回错误:LI原创 2011-04-25 11:47:00 · 1061 阅读 · 0 评论 -
【温故知新C/C++】vector||max ||virtual(C++)
1.vector > arr;vector v;//v里面可以放你想要的数据。arr.push(v);2.vector arr[100]。//这就开了一个大小为100的vector的数据。//同样是二维的效果。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++有些数据结构(如vector)可以动态增长!!!C++中有些函数可以声明为内联(inline)函数,原创 2011-04-24 16:21:00 · 1980 阅读 · 0 评论 -
【封闭系列】size_t
1. size_t size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。在C++中,设计 size_t 就是为了适应多个平台的 。size_t的引入增强了原创 2011-07-12 16:11:56 · 2172 阅读 · 0 评论 -
cvThreshold||cvLine||cvLoadImage,cvCreateImage之灰度
【Q1】怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.bmp", 0 ); 这样图像已经灰度化,然后调用cvThreshold(image, image, 12原创 2011-08-04 19:31:18 · 3838 阅读 · 0 评论 -
【系列】char->string类型转换 ||批处理bat之start
C++ 中int,char,string,CString类型转换(一) 1. c++中string到int的转换1) 在C标准库里面,使用atoi:#include #include std::string text = "152"; int n原创 2011-08-10 19:19:55 · 2273 阅读 · 0 评论 -
c 语言实现24位bmp图片加载,读写,放大缩小
原文链接地址:http://hi.baidu.com/erfolgreich/blog/item/ce94dbad02c0c3f7faed5010.htmlc 语言实现24位bmp图片加载,读写,放大缩小可用 microsoft visual c++ 6.0 建立Win32 Console Application 工程,添加如下.cpp2010-04-30 10:24转载 2010-05-05 19:40:00 · 2658 阅读 · 0 评论 -
智能指针系列
Boost中提供的5类智能指针。分别是:l scoped_ptr 独占的指针l scoped_array 独占的数组l shared_ptr 引用计数指针转载 2011-10-12 16:18:43 · 1044 阅读 · 0 评论 -
【重温C/C++】explicit+||template||virtual虚函数||重载和重写
explicit 只对构造函数起作用,用来抑制隐式转换。如: class A { A(int a); }; int Function(A a); 当调用 Funct原创 2011-10-13 14:16:42 · 1547 阅读 · 0 评论 -
std::set||std::deque||std::map
std::setC++标准库:std_set作为一个有序集合摘要:std::set作为标准库的一个关联容器,实现内部元素进行了排序,使用这特性可以对一组元素进行插入排序。std::set最初的设计是完成数学中“集合”的概念,它提供的接口也是如此。本文简单地原创 2011-10-12 11:14:40 · 2754 阅读 · 0 评论 -
【温故知新C/C++】static_cast||reinterpret_cast
.static_cast、dynamic_cast reinterpret_cast和const_cast关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是转载 2011-10-10 22:42:55 · 764 阅读 · 0 评论 -
【重学C/C++】句柄
句 柄出处: 方塘2003.9.22 整理,之所以前面引用了 贾旭滨 先生的这段描述,因为他写的是在精彩!=== 重庆大学光电工程学院 贾旭滨 对句柄有下面的描述: 句柄概念在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的转载 2011-10-13 10:49:04 · 1189 阅读 · 0 评论 -
【重学C/C++】DispatchMessage||TranslateMessage||PostThreadMessage||PeekMessage
Windows API一日一练(14) DispatchMessage函数 (牛人的网站!)前面已经介绍从系统队列里获取一条消息,然后经过快捷键的函数检查,又通过字符消息函数的转换,最后要做的事情就是调用DispatchMessage函数,它的意思就是说要把这条消转载 2011-10-13 22:44:13 · 5384 阅读 · 0 评论 -
LRESULT||
LRESULT (2010-06-05 21:09:07)LRESULT是一个数据类型, MSDN: 32-bit value returned from a window procedure or callback function转载 2011-10-17 19:55:34 · 2219 阅读 · 0 评论 -
【重学C/C++】回调函数callback
原文请看:http://topic.youkuaiyun.com/u/20100316/16/e17fe762-d1c3-47d0-a3e9-ee4005b730ef.html其中4楼的比喻非常贴切,这里和大家分享。 你饿了,想吃饭,就一会去问你妈一声"开饭没有啊?"这就正常原创 2011-10-10 15:05:40 · 1254 阅读 · 1 评论 -
Linux下的段错误产生的原因及调试方法
因为你调用了glibc的fputs检查你传进去的char*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++同学们在做Linux练习的时候,编译完程序,执行的时候,有时会莫名的出现 “Segment fault”,即段错误,段错误是让许多C程序员都头疼的提示,因为对于这种模糊的提示,很难判断错误在哪里转载 2011-10-19 22:13:34 · 4645 阅读 · 0 评论 -
【经典C/C++系列】解析“extern”及extern "C"
解析“extern”分类: 经验总结(个人原创) 2005-06-23 13:17 30800人阅读评论(85)收藏举报解析“extern”1、声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C+转载 2011-10-25 14:18:47 · 1056 阅读 · 0 评论 -
在什么情况下会用到虚方法(虚函数)?它与抽像函数区别等探讨
http://blog.sina.com.cn/s/blog_413189410100bgbw.html虚函数:可由子类继承并重写的函数,后期绑定抽像函数:规定其非虚子类必须实现的函数,必须被重写。接口:必须重写要想实现多态的方法之一就是使用到虚函数。抽象出一个高内聚、低偶合,易于维护和扩展的模型。但是在抽象过程中我们会发现很多事物的特征不清楚,或者很容易发转载 2011-12-08 21:44:31 · 1333 阅读 · 0 评论 -
std::transform || inner_product || accumulate
该问题归结为std::transform函数的使用函数原型template OutputIterator transform ( InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperator op ); template OutputIterator transform ( I原创 2011-12-16 10:39:42 · 1360 阅读 · 0 评论 -
DroidDraw---Android的界面设计工具
Android的界面设计工具——DroidDraw首届 Google 暑期大学生博客分享大赛——2010 Andriod 篇软件名称:DroidDraw软件大小:489KB(Windows版本)支持系统:Mac OS X/Windows/Linux下载地址:http://code.google.com/p/droiddraw/ ADT中的界面转载 2011-11-29 13:40:41 · 2816 阅读 · 0 评论 -
MFC SetTimer用法
MFC SetTimer用法【http://blog.youkuaiyun.com/loonghua1314/article/details/6057262】什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方转载 2012-02-22 22:49:19 · 1924 阅读 · 0 评论 -
GetDocument()
视图对象是用来显示文档对象的内容,函数GetDocument()用于获取当前文档对象的指针m_pDocument. 而函数OnDraw()是一个虚函数,负责文档对象的数据在用户视图区的显示输出。在向导生成的成员函数OnDraw()中调用了函数GetDocument().通过获取的文档类指针可 以在视图中显示文档内容。void CMysdiView::OnDraw(CDC*转载 2012-02-24 20:54:19 · 3297 阅读 · 0 评论 -
【编程小工具】通过depends工具查看dll
http://hi.baidu.com/chenchangxin/blog/item/32fef72ee3f9cc434ec22660.htmlDepends用来显示与一个可执行文件(exe或者dll)相关的依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口。同时也可以看到每个被依赖的dll中的所有导出的函数接口。========================转载 2012-02-27 13:17:46 · 2395 阅读 · 0 评论 -
友元函数和友元类
友元函数和友元类 http://www.cppblog.com/twzheng/articles/21020.html 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。原创 2012-02-27 14:22:06 · 882 阅读 · 0 评论 -
【Offer2012】C++ this指针||
1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的,它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。原创 2012-02-19 13:12:54 · 873 阅读 · 0 评论 -
C++面向对象编程入门:构造函数与析构函数
【转载地址】http://pcedu.pconline.com.cn/empolder/gj/c/0503/568909.html“系统碰到创建代码的时候就会自动调用Teacher类中的Teacher()构造函数对对象进行初始化工作! ”请注意,这一节内容是c++的重点,要特别注意! 我们先说一下什么是构造函数。 上一个教程我们简单说了关于类的一些基本内转载 2012-02-28 17:27:50 · 1100 阅读 · 0 评论 -
fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directory
fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directoryhttp://blog.waterlin.org/articles/qedit-problem-in-windows-directshow.html在使用有关 DirectShow 东西的时候,使用了头文件#include 结果,编译的时候提示如下错转载 2012-02-23 17:18:57 · 5976 阅读 · 0 评论 -
const关键字的用法总结(多篇文章)
1. const 用于定义常量,定义时必须进行初始化,一经定义不能修改。2. const用作函数参数:1) 指针参数:const 在 * 的左边,表示该指针的数据不能改变,但是地址可以改变。例如:void fun(constint *p){*p = 10; //非法,不能改变指针p的数据int num(20);p = # //合法,可原创 2012-02-29 11:38:32 · 1183 阅读 · 0 评论