
C/C++
文章平均质量分 63
Cneagle
一个执着追梦的人……
展开
-
JAVA的interface观念与C++多重继承的比较
JAVA的interface观念与C++多重继承的比较 interface与多重继承的观念 不管是Java的interface或是C++的多重继承﹐在物件导向的理论里﹐都算是蛮新颖的概念。所以这里我们谈的﹐是以程式语言的角度﹐看看Java interface的所有意义与功能﹐是否C++的多重继承能全部诠释?或是相反地以Java的来诠释C++的。首先让我们来复习一下什么是C++的多重继承。 「继承」转载 2008-07-10 15:13:00 · 1097 阅读 · 0 评论 -
const在函数前与函数后的区别
首先要知道函数名后面加const只能用于成员函数。int const func(); //合法,相当于const int func();int func2() const; //非法,对函数的const限定词只能用于成员函数在成员函数中,const加在函数名前和后也是有区别的。例如:class A { int const func(); int func()原创 2013-12-25 17:43:16 · 668 阅读 · 0 评论 -
const在函数前与函数后的区别
首先要知道函数名后面加const只能用于成员函数。int const func(); //合法,相当于const int func();int func2() const; //非法,对函数的const限定词只能用于成员函数在成员函数中,const加在函数名前和后也是有区别的。例如:class A { int const func(); int fu原创 2013-12-25 17:25:48 · 196 阅读 · 0 评论 -
vs编译项问题解决
Q1、error C2664: uni2ansi : 不能将参数 2 从 LPTSTR 转换为 WCHAR *A1、“项目→属性→常规→字符集” “使用多字节字符集”改为“使用 Unicode 字符集。Q2、LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏A2、“项目→属性→配置属性→清单工具→输入和输出→嵌入清单”,原来是“原创 2014-01-28 13:51:10 · 577 阅读 · 0 评论 -
VS 2005环境下生成静态lib库及调用方法
生成lib方法: 步骤1:新建一个空项目,建一个头文件如Test.h #pragma once #ifdef __cplusplus extern "C" { #endif intGetMin(int a,intb); #ifdef __cplusplus } #endif /转载 2014-02-11 11:49:23 · 588 阅读 · 0 评论 -
VS2008下Boost库的安装编译
下载boost库(最好去官网下,一般有SGI(GCC+用的较多)和BOOST之分,VS下用BOOST)http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041或http://sourceforge.net/projects/boost/files/boost-docs/1.52.0/下载bo原创 2013-12-30 16:04:35 · 4224 阅读 · 4 评论 -
c++通过开源的TinyXML操作xml例子
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即转载 2014-07-04 15:31:57 · 571 阅读 · 0 评论 -
C# C++ 混合编程
C# 试图加载格多大式不正确的程序。 (异常来自 HRESULT:0x8007000B)原创 2014-09-24 14:35:28 · 988 阅读 · 0 评论 -
在C#中使用C++编写的类
现在在Windows下的应用程序开发,VS.Net占据了绝大多数的份额。因此很多以前搞VC++开发的人都转向用更强大的VS.Net。在这种情况下,有很多开发人员就面临了如何在C#中使用C++开发好的类的问题。下面就用一个完整的实例来详细说明怎样用托管C++封装一个C++类以提供给C#使用。 比如,现在有一个工程名为NativeCppDll的由C++编写的DLL,里面输出了一个CP转载 2014-09-26 14:51:29 · 700 阅读 · 0 评论 -
C/C++FAQ
Q:工程没有生成lib文件,只生成了dll文件A:原创 2014-10-10 17:11:15 · 856 阅读 · 0 评论 -
map、multimaps函数
1 简介map 和 multimap 将key(键值,或理解为排序关键字)/value(值)作为元素,成对存储,它们可根据key的排序准则自动将元素排序。multimap允许重复键值,maps不允许。使用map和multimap需要使用头文件,在使用这个头文件时,要用标准名称空间(using namespace std;)。map和multimap的元素是 key/value 对,转载 2013-12-28 22:27:03 · 655 阅读 · 0 评论 -
vector list deque比较
vector、deque以及list都是动态增长的。在这三者之中选择的准则主要是关注插入特性以及对元素的后续访问要求。vector表示一段连续的内存区域,每个元素被顺序存储在这段内存中。对vector 的随机访问效率很高,因为每次访问离vector起始处的位移都是固定的。但是在任意位置而不是在vector 末尾插人元素则效率很低,因为它需要把待插入元素右边的每个元素都拷贝一遍。类似地删除任转载 2013-12-28 22:13:25 · 533 阅读 · 0 评论 -
Excel2007界面详解:Ribbon功能区
Office2007的界面和以往版本相比有很大的变化,最大的变化就是使用功能区(Ribbon)代替了以前版本中的菜单和工具栏。今天我们详细介绍Excel 2007的功能区(Ribbon)。一、Excel2007功能区(Ribbon)概况 下图就是Excel 2007的界面,大家点击看大图可以更清楚一些。 图中紫色圆圈部分是Microsoft Office按钮。 绿色部分是快速转载 2013-12-13 20:52:50 · 1322 阅读 · 0 评论 -
C/C++基础知识:数组类型、函数类型到左值和右值的转换
1、左值和右值表达式的左值是它的地址,右值是该地址所存储的内容。比如下面代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->x = x + 1;这两个 x 有什么不同呢?第一个表达式 x 表示的是它的左值,而第二个表达式 x 表示的是它的右值原创 2010-05-20 23:42:00 · 559 阅读 · 0 评论 -
明确C++风格的类型转换的用法
仔细想想地位卑贱的类型转换功能(cast),其在程序设计中的地位就象goto语句一样令人鄙视。但是它还不是无法令人忍受,因为当在某些紧要的关头,类型转换还是必需的,这时它是一个必需品。 不过C风格的类型转换并不代表所有的类型转换功能。 一来它们过于粗鲁,能允许你在任何类型之间进行转换。不过如果要进行更精确的类型转换,这会是一个优点。在这些类型转换中存在着巨大的不同,例如把一个指向c原创 2010-05-21 00:12:00 · 433 阅读 · 0 评论 -
进程间通信与线程间通信
以前一直想找个机会总结一下进程和线程的通信机制,但由于技术和平台的局限性,一直没有找准切入点。由于马上要毕业了,对自己技术的总结和梳理的前提下写了本篇文章,如有错误之处,敬请拍砖和指教。 操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软原创 2012-09-04 17:09:22 · 7825 阅读 · 0 评论 -
虚函数与纯虚函数
纯虚函数的作用 在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。1.首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的原创 2012-09-04 17:05:09 · 974 阅读 · 0 评论 -
VC++ Unable to register this add-in because its DllRegisterServer returns an error
1.下载VC6LineNumberAddin插件及注册文件。(以下是参考链接:)http://codefish.googlecode.com/files/VC%E6%98%BE%E7%A4%BA%E8%A1%8C%E5%8F%B7_VC6LineNumberAddin.rar2.解压把拷贝VC6LineNumberAddin.dll到VC6安装路径下的AddIns文件夹,笔者的完整路径为:转载 2013-09-10 15:04:37 · 3609 阅读 · 0 评论 -
windows环境中使用VC的nmake和makefile编译c++程序
开源跨平台的软件,一般会提供各种平台makefile文件,其实VC编译也是用的makefile,只是做了封装,一般用工具编译了,也不直接自己写makefile了。但是了解一下还是有帮助的。比如,在d盘根目录下创建了一个目录lee,在此目录下编写了一个makefile.vc。先找到vc安装的目录,比如我安装的vs2008,安装目录D:\Program Files\Microsoft Vi原创 2013-09-15 22:21:18 · 14532 阅读 · 0 评论 -
跨平台 GUI 框架 wxWidgets和UI开发工具 wxFormBuilder
wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供 GUI(图形用户界面)和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。一个支持OS/2的 版本正在开发中。wxWidgets在最开始是由爱丁堡(Edinburgh)大学的人工智能应用学院开发的,主要是内部使用,而在1992年第一次公布。 2.x版本做了很转载 2013-09-15 22:31:23 · 3298 阅读 · 0 评论 -
LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表转载 2013-10-18 16:12:25 · 541 阅读 · 0 评论 -
详解模块定义(.def)文件
模块定义(.def)文件 模块定义(.def)文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成DLL时,.def文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要.def文件。也可以将__declspec(dllexport)用作指定导出函数的手段。 在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用.def文件。 如果生成的转载 2013-10-18 13:33:06 · 667 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast和const_cast
1 static_cast用法:static_cast ( expression)该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。进行上行转换(把子类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查转载 2013-12-04 14:10:30 · 461 阅读 · 0 评论 -
dynamic_cast,static_cast,reinterpret_cast,const_cast
1 static_cast用法:static_cast ( expression)该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。进行上行转换(把子类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查转载 2013-12-04 14:09:39 · 162 阅读 · 0 评论 -
Cannot open include file: 'afxcontrolbars.h': No such file or directory
fatal error C1083: Cannot open include file: 'afxcontrolbars.h': No such file or directoryhttp://int.social.msdn.microsoft.com/Forums/en/vcgeneral/thread/956635f1-f7fd-4672-9a7d-935327022902This d原创 2013-12-13 22:28:15 · 1690 阅读 · 0 评论