- 博客(15)
- 资源 (3)
- 收藏
- 关注
转载 c++头文件包含注意要点
C++ 中类的声明和类的定义分开几乎成了一个不成文的规定。这样做的好处是使得类的声明和实现分开,清晰明了,同时便于库函数发布。但是在实际编程中由此也常常 引起了一些由于头文件的包含顺序问题而产生的符号未定义的编译错误,不明白其中原理有时会让人很头疼。要消除符号未定义的错误的编译错误,最基本的一个做 法就是在引用一个符号(包括变量,函数,结构,类等)之前确保它已经声明或者已经定义。 实
2015-10-23 17:08:04 640
转载 C++ MFC中的CMenu---动态添加菜单/菜单项
如何动态添加菜单/菜单项、子菜单、右键菜单有关菜单的操作主要用到CMenu类,当然也可用相应API函数,CMenu类只是MFC对API中操作菜单的函数的封装而已。 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服。 若是SDK编程,那就用API吧 。 CMenu menuMain,menu1; //首先 定义CMenu对象一、 创建菜单,有两种方法1. 用LoadMe
2015-10-23 13:13:41 9055 1
转载 秒杀多线程第五篇 经典线程同步 关键段CS
上一篇《秒杀多线程第四篇 一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,本篇将用关键段CRITICAL_SECTION来尝试解决这个问题。本文首先介绍下如何使用关键段,然后再深层次的分析下关键段的实现机制与原理。关键段CRITICAL_SECTION一共就四个函数,使用很是方便。下面是这四个函数的原型和使用说明。 函数功能:初始化函数原型:
2015-10-22 11:08:44 559
转载 C++ 多态 指针转换
class A{ public: A(); virtual ~A();};class B{ public: B(); virtual ~B();};class C : public A, public B{ public: C(); virtual ~C();};类型指针转换常见的错误:1、父类指针转换成子类指针后,可能异常,因为父类指针不一定指向
2015-10-21 16:03:09 1607
转载 CFileDialog的用法简介
CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWR
2015-10-16 13:43:55 716
转载 数据库 事务回滚实例(C#)
using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System
2015-10-15 17:49:17 1906
转载 刻度轴 规范值算法
//CorMax 数据最大值 //CorMin 数据最小值 //CorNumber 刻度个数 public void Standard(ref double CorMax, ref double CorMin, int CorNumber) { double tmpMax, tmpMin; double
2015-10-15 17:43:27 882
转载 C++中友元(友元函数和友元类)的用法和功能
采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和
2015-10-14 16:40:35 557
原创 C++ vector 删除某一元素
在用Vector删除某一个元素的时候经常互出现不可思议的情况,例如:vector count;count{0,0,0,437,0,0,0};想要删除count中的0元素,使用如下程序:vector ::iterator Iter;for (Iter=count.begin();Iter!=count.end();Iter++){ if
2015-10-14 11:51:35 3390
原创 C++ 类成员函数后面加 const关键字
这是用在类成员函数的声明和定义中, 例如在 .h中 void fun()const;在.cpp中 void Class::fun() const { .... }作用:表示该函数可以被常量对象调用, 例如 const ClassA a; a.fun() 常量对象只能调用使用const的函数表示该函数可以操作成员,
2015-10-14 10:12:30 6272 1
转载 c++ 字符类型总结区别wchar_t,char,WCHAR(转)
1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数。 UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t; 另外,在头文件中有这样的定义:typedef
2015-10-13 09:51:19 595
原创 CString操作后,结果不正确
CString temp;temp.Format(_T("%s"),_T("abcd")); PathRemoveFileSpec((LPTSTR)(LPCTSTR)temp); temp=temp+_T("efg");预想的结果是“abcdefg” 但是结果却是 “abcd”上面的状况我各种检查就是百思不得其解,明明就没有错误啊!!虽
2015-10-13 09:39:48 715
转载 CString的GetBuffer用法,CString原理,GetBuffer常见问题解决方法
一.函数原型CString::GetBufferLPTSTR GetBuffer( int nMinBufLength );throw( CMemoryException );Return ValueAn LPTSTR pointer to the object’s (null-terminated) character buffer.Paramet
2015-10-12 17:56:35 8399 1
转载 C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数
2015-10-10 11:02:07 431
原创 C++ 文件名和 路径
路径截断与合并函数 PathRemoveArgs去除路径的参数PathRemoveBackslash去除路径最后的反斜杠“\”PathAddBackslash 在路径最后加上反斜杠“\”PathRemoveBlanks去除路
2015-10-09 11:20:01 4114 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人