权变原理实例:c++中的引用的使用原理和使用实例 (1)

引用是C引入新语言特性是C常用个重要内容的正确、灵活地使用引用可以使简洁、高效我在工作中发现许多人使用它仅仅是想当然在某些微妙场合很容易出错究其原由大多没有搞清本源故在本篇中我将对引用进行详细讨论希望对大家更好地理解和使用引用起到抛砖引玉作用  引用介绍  引用就是某变量(目标)个别名对引用操作和对变量直接操作完全样  引用声明思路方法:类型标识符 &引用名=... [阅读全文]

权变原理实例:c++中的引用的使用原理和使用实例 (2)

这个部分只要就是说例子了我看书是c primerplus第十 2章里面开始时候就有好大篇幅讲解复制构造以及赋值操作符 我这里就从最初地方个个讲解我前篇文章里面已经说了: 使用引用时机流操作符和、赋值操作符=返回值、拷贝构造参数、赋值操作符=参数、其它情况都推荐使用引用 这个里面到处都是&也就是引用引用当然可以不用了我会改变来介绍说明这点但是使用引用就可以带来很... [阅读全文]

权变原理实例: c++中的引用的使用原理和使用实例 (3)

写到这里已经写了很多了个下午吧问题弄好了我就想继续更改是按照我设想运行:第可以不用引用不?可以用指针不过相应地方要改:StringBad::StringBad(const StringBad *st){ num_s; len = st-len; // size str = char[len + 1]; // allot storage strcpy(str,... [阅读全文]

编程学习:ILE 下c/c++/cl/RPG等 混合编程

c procedure:c_module#include stdio.hvoid PrintMsg(char* msg){ printf(\"=======begin to run c procedure========\\n\"); printf(\"%s\\n\", msg); printf(\"=======end run c procedure========\\n\");}cl proc... [阅读全文]

托盘天平的使用:托盘的制作暨CTrayIcon类使用说明

1、把TRAYICON.H和TRAYICON.CPP 文件添加到工程项目中来;2、在MainFrm.h中包含头文件# \"trayicon.h\";3、在MainFrm.h中声明CtrayIcon类对象以及个BOOL型变量 CTrayIcon m_trayIcon; BOOL m_bShutdown; //真则应用结束用于点击托盘菜单上推出按钮时进行确认4、添加... [阅读全文]

mfc消息映射:mfc消息映射防真

最近在学习MFC底层,通过看书受到启发,决定抛开书自己来独立写一下主要核心代码! 先定义一个MYMSGSTRUCT消息结构体和一个MYMSG宏. structmymsgstruct...{ UNITmymeesage; LONG(*ptr)(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam); } MYMSG(x)(sizeof(x)/sizeof(x... [阅读全文]

数据结构头文件:c++头文件结构类似嵌套解决方法

有一个Road类,有一个Intersection类,Road类中要含有两个节点Intersection的信息,Intersection要有相邻路的信息列表。 于是Road.h中这样定义: classRoad ...{ private: Intersection*from; Intersection*to; public: ........ } Intersection.h中这样定义: clas... [阅读全文]

mfc图像:读显图像文件程序(MFC)

功能:实现打开文件过滤、创建滚动视图类、对小图使子窗口按适应图大小、对大图支持子窗口滚动另存为功能方便图片格式转换下面是步骤:VC2005 创建MFC应用-多文档项目Image在“MFC应用向导”最后步“生成类”页将C*View基类从缺省CView改成CScrollViewImageDoc.h 添加# atlimage.h // 用到CImage类文档类添加i... [阅读全文]

colevariant:COleVariant类

COleVariant封装了VARIANT。 m_pUsersSet=newCDaoRecordset(m_pDB); strSQL.Format(_T(\"select*from[Users]whereLoginName=\\’%s\\’\"),strLoginName); m_pUsersSet-Open(dbOpenDynaset,strSQL); m_pUsersSet-GetField... [阅读全文]

文件输入输出流:C++风格的文件输入输出流

输出主要由重载左移操作符()来完成输入主要由重载右移操作符()完成   a表示将数据放入a对象中   a表示将a对象中存储数据拿出 接下来我们继续看下C风格串流控制C引入了ostream、istream、stream这 3个类要使用他们创建对象就必须包含sstream.h头文件 istream类用于执行C风格串流输入操作 stream类同时可以支持C风格串流... [阅读全文]

标准c算术表达式算法:标准C++算数表达式算法

标准C算数表达式算法 #iostream #vector #stack # #sstream usingstd; Postfix_Expression; vectordoubleStoreData; vectorcharStoreOper; vectordoubleStoreQueue; stackdouble,vectordoubleData_Stack(St... [阅读全文]

指针的引用:c++引用的弊端-引用不如指针

c++中引入引用的概念是为了操作符重载(见c++的设计与演化),scottmeyers在其相关的Effectivec++中也对引用和指针有过论述. 在我刚刚接触引用的概念以后,我认为这是一个极好的东西,在函数参数和成员变量中大量的使用他,但是很快我就发现引用不如指针了. 除了操作符重载引用是必须的以外,引用的一个其他的好处是对于函数参数传递来说,一般不用检查引用是否是空(确实能够把引用指向一个空对... [阅读全文]

odbc数据库编程:C++中ODBC编程实例

  Microsoft Developer Studio为大多数标准数据库格式提供了32位ODBC驱动器这些标准数据格式包括有:SQL Server、Access、Paradox、dBase、FoxPro、Excel、Oracle以及Microsoft Text如果用户希望使用其他数据格式,则需要安装相应ODBC驱动器及DBMS   用户使用自己DBMS数据库管... [阅读全文]

内存模型:多线程内存模型

这个系列其实早就想写了断断续续关注C0x也大约有两年余了其间看着各个重要proposals路review过来:rvalue-references、concepts、memory-model、variadic-templates、template-aliases、auto/decltype、GC、initializer-lists… 总来说C09跟C98相比... [阅读全文]

虚函数表:C++直接操纵虚函数表方法

以下代码没有什么实用价值,最多拿来加深一下对虚函数表的印象,一时性起,想直接操纵虚函数表。这段代码只尝试了在VS2005上编译通过,没有在其他编译器上尝试,它并不具有可移植性。 大家都知道C++的虚函数机制通常是通过一个虚函数表来实现的,C++不对内存访问做限制,所以我们可以通过指针自己访问虚函数表,然后进行操作。 #includeiostream usingnamespacestd; ... [阅读全文]

visualmingw:Microsoft Visual C++ 与 MinGW

MinGW:根据我的理解,它是一个Windows下的编译器(实际上是一系列开发工具)。与Windows下其它编译器不同的是,MinGW与Linux下广泛使用的GNU(基本上)完全兼容,这意味着,在Linux下如何编译源代码,在MinGW中也可以以完全相同的方式编译。 我个人以为,MinGW的出现是有原因的:有些Linux下的开发人员(比如开源阵营)发布的源代码通常只提供Linux下的编译方式,而不... [阅读全文]

vc如何添加对话框:VC++对话框中添加透明位图方法

我们在进行界面设计时常常希望将位图关键部分也既是图像前景显示在界面上而将位图背景隐藏起来将位图和界面很自然融合在起本例子介绍了透明位图制作知识并将透明位图在个对话框中显示了出来界面效果如图所示: 图、对话框界面上透明显示位图   、 实现思路方法  绘制\"透明\"位图是指绘制某位图中除指定颜色外其余部分我们称这种颜色为\"透明色\"通过将位图背景色指定... [阅读全文]

生成函数:C++生成的类和函数的启动顺序和过程

VisualC++的AppWizad为Developers建立窗口应用程序提供了很大的方便,但对于MFC(MircosoftFoundationClass)初学者来说,了解由AppWizad生成的一系列类和函数的功能、启动过程及各类、各函数间的关系不是一件容易的事情。本文企图让读者明白由AppWizad生成的类和函数的启动顺序和过程。假设读者已经了解基于消息的窗口应用程序的工作原理.一、建立应用程... [阅读全文]

信号传递的应用:应用程序之间数据交换和传递实现方法

  般我做都中各个应用(进程)的间常常需要交换、传递数据这就要解决进程间数据通信问题在最初16位Windows3.x系统中所有Windows应用共享单地址任何进程都能够对这共享地址空间数据进行读写操作随着Windwos98、WindowsNT、Windows2000等32位操作系统出现规定每个进程都有自己地址空间个Windows进程不能存取另个进程私有数据也就是... [阅读全文]

跨平台:C++跨平台应用

在Java/.NET大吹特吹的年代,C++是否还有一席之地呢。经常在大街上收到一些IT的培训传单,发现上面所教的无非都是Java/NET的应用(什么JSP啊JEE啊。。。)但从来不见有什么C++的。 为什么C++难登培训之堂?一方面是这么培训机构打的是只有高中中专水平人员的主意,让他们快速上手能干活,Java/NET是最好的。另一方面是C++太难学了,直接讲是难有收效的。不一步步从计算机原理、汇... [阅读全文]

有理数的加法:C++写的一个加法程序建议新手多看看

这个程序很简单,对一些初学者来说了,但我还是想把他写出来,也是算是对今天自己工作的一个记录吧!! 我建立一个MFCAppWizard(exe)的对话框工程,工程名就不管了,在对话框画三个文本框,分别命名为ID_EDIT_NUM1,ID_EDIT_NUM2,ID_EDIT_RESULT,三个文本框对应的变量分别:CString类型的m_EditNum1,m_EditNum2,m_EditRusult... [阅读全文]

randsrand:用rand()和srand()产生为随机数方法介绍

标准库cstdlib(被包含于iostream中)提供两个帮助生成伪随机数的函数: 函数一:intrand(void); 从srand(seed)中指定的seed开始,返回一个[seed,RAND_MAX(0x7fff))间的随机整数。 函数二:voidsrand(unsignedseed); 参数seed是rand()的种子,用来初始化rand()的起始值。 可以认为rand()在每次被调用的时... [阅读全文]

控制台应用程序:编写控制面板应用程序方法

 当我们打开控制面板时会看到些控制面板项目如“添加/删除”、“调制解调器”、“系统”等我们经常需要通过这些项目来对Windows进行配置还有些软件Software如雅马哈声卡驱动会在控制面板中增加自己配置项目使用C++Builder 能方便快速地开发出自己控制面板应用使用标准控制面板   控制面板实际上就是个DLL(动态链接库)文件关键是它实现了CPlApple... [阅读全文]

网卡mac:如何得到网卡编号(MAC地址)方法

由于实际需要,在编程的时候需要得到网卡编号即MAC地址,想了好久才写出下面段实现代码,有兴趣的朋友可以研究下。呵呵 用下面的代码实现: intgetMAC(char*mac) { NCBncb; typedefstruct_ASTAT_ { ADAPTER_STATUSadapt; NAME_BUFFERNameBuff[30]; }ASTAT,*PASTAT; ASTATAdapter; typ... [阅读全文]

显式调用:不用显式调用实现分段装载执行的方法

还是编译选项,比如要在2000上用gdi+,用loadlibrary还不方便,因为他是直接导出类 解决方法如下 一是加入delayimp.lib 二是/DELAYLOAD:gdiplus.dll 然后放心在程序里用,到调用指定的类的时候,gdiplus.dll ,这个时候你应该早就想办法把gdiplus.dll 弄到本地了。... [阅读全文]

对话框添加状态栏:C++中对话框中加入状态栏的实现方法

C++中对话框中加入状态栏的实现方法相信很多新手还不错,自学编程网针对的是大部分自学编程的爱好者,所以今天以来学习一下C++中对话框中加入状态栏的实现方法,实现起来很简单,大家看下面的步骤。一、加载方法步骤1.在resourses中把ID_INDICATOR_NISH加到 symbol 里去,同样的加到 string table 里去步骤2.在你的 Dialog 类里面加个 CStatusBar... [阅读全文]

对话框背景色:C++对话框背景色的设置方法

一个基于对话框的MFCAppWizard应用程序中,如何改变对话框的背景颜色呢?对于这个问题,其实可以由几种不同的方法来实现,具体如下(粗斜体代码为增添的): ----方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。 ----其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下: ----①新建一... [阅读全文]

内存同步检查错误:使用PageHeap.EXE或GFlags.EXE检查内存越界错误

我推荐使用PageHeap.Exe和Gflags.Exe主要原因还是当有人问内存越界如何查出来时候国外朋友经常会推荐这两个工具(highly recommend)我用过的后也觉得有些时候用用还是有好处PageHeap.Exe将针对某个指定应用启用Page Heap标志从而自动监视所有malloc、和heapAlloc内存分配找出内存PageHeap.Exe下载地... [阅读全文]

生物体的结构层次:大规模的C++项目代码层次结构

1.前言 C项目中如果代码层次结构不好非常容易变得难以维护对于规模较大项目而言必须将整个项目划分成若干模块进行开发 2.模块 模块包括可执行文件动态库和静态库 2.1应用层 最上层为应用层表现为可执行文件 本层代码应主要进行界面控制尽量不要涉及复杂逻辑 2.2动态库层 动态库层作为逻辑模块主体采用动态库好处是将复杂应用拆分成可以独立分发子模块便于单独管理 使用... [阅读全文]

bmp位图:BMP位图文件结构及VC操作方法

----用普通思路方法显示BMP位图占内存大速度慢在图形缩小时失真严重,在低颜色位数设备上显示高颜色位数图形图形时失真大本文采用视频显示BMP位图可以消除以上缺点 ----、BMP文件结构 ----1.BMP文件组成 ----BMP文件由文件头、位图信息头、颜色信息和图形数据 4部分组成 ----2.BMP文件头 ----BMP文件头数据结构含有BMP... [阅读全文]
<< < 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 > >> 共1813条 分61页