![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 79
heathyhuhu
这个作者很懒,什么都没留下…
展开
-
不能将参数1从“const char []”转换为“LPCTSTR
今天在使用vs2008+MFC时候,使用editControl的replacesel(“”)发生报错。如下::不能将参数1从“const char []”转换为“LPCTSTR”其解决方案就是, 在项目属性里面找到项目默认值下面的字符集, 将其换为:使用多字节字符集就ok了。原因:typedef LPCTSTR LPTSTR ;#ifndef _UNICODE转载 2013-12-26 22:30:06 · 17847 阅读 · 2 评论 -
好东西,先收着再说
开发工具:VIM 骨灰级玩家专属emacs 骨灰级玩家专属code::blocks 入门级推荐codelite 入门级首选eclipse+CDT 如果你经常用eclipse就直接装个cdt的插件吧netbeans 习惯netbeans的首选anjuta gtk首选KDeveloper 曾经的Linux下经典开发工具Xcode Mac系开发首选QtCreator Qt默认转载 2012-12-03 15:09:10 · 751 阅读 · 0 评论 -
关于默认构造函数的说明
尽管有很多书中,都有关于默认构造函数的讲解,可是在实际的编程中,究竟有多少人可以清晰的认识到哪些场合中可以调用默认构造函数,哪些场合必须自己定义构造函数了,所以看似简单的概念,能将它充分理解的话,对学习和编程是很有帮助的。下面就对默认构造函数做一个简单的讲解:默认构造函数指不带参数或者所有参数都有缺省值的构造函数,默认构造函数”是能够被无参数调用的构造函数。因此,一个不带参数的构造函数当然原创 2012-11-19 16:13:50 · 708 阅读 · 0 评论 -
构造函数和析构函数的各种调用情况,你清楚吗?
先看下面一段代码,试着分析一下在程序的运行过程,何时调用构造函数,何时调用析构函数,理清思路后,和程序后面的结果比对一下,看看预想的和实际的结果有什么不同。#include "stdafx.h"#include#include#includeusing namespace std;struct exmp1{ //默认构造函数 exmp1() { cou原创 2012-11-19 14:45:35 · 766 阅读 · 0 评论 -
一个简单的雇员类应用
#include "stdafx.h"#include#include#includeusing namespace std;class employee{public : employee():name("noname") { setid(); } employee(string name1):name(name1) { s原创 2012-11-19 13:46:57 · 1044 阅读 · 1 评论 -
拷贝构造函数的参数为什么必须使用引用类型
拷贝构造函数的参数为什么必须使用引用类型 在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不好还好,我有理性这个好品质。思索一下以后,发现这个答案是不转载 2012-11-19 09:45:40 · 445 阅读 · 0 评论 -
用C++实现栈
#include using namespace std;class Stack{public: struct Link { Link(struct Link* next,int data):next_(next),data_(data) { } Link*next_; int原创 2012-12-02 16:53:10 · 542 阅读 · 0 评论 -
用c语言写栈的压入与输出
在写函数程序的时候,一般而言需要注意的是编程的规范的问题,但是自己感觉在这方面做的还很不够,因此,将以下规范写在自己的博客里,希望自己和读者能够重视,并将此规范运用到自己的程序当中。类、函数和每局类型的名称形如:LikeThis,即单词的首字母大写;变量名形如:likeThis,即第一个单词的首字母小写,第二个单词的首字母大写,私有成员变量名形如:likeThis_,宏名形如:LIKE_THI原创 2012-12-02 14:39:52 · 1371 阅读 · 0 评论 -
static与单例模式
#includeusing namespace std;class singleton{public: static singleton* getinstance() { if(NULL==instance) {instance=new singleton;} return instance; } ~singleton() {cout /原创 2012-11-30 10:58:37 · 958 阅读 · 0 评论 -
再谈C++友元函数
1、为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率具体来说:为了使其他类的成员函数直接访问该类的私有变量即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数优点:能够提高效率,表达简单、清晰缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数。2、什么时候使用友元函数:1)运算符重载的某些场合需要使转载 2012-11-15 15:38:35 · 483 阅读 · 0 评论 -
C++中虚析构函数的作用
★★什么时候要用虚析构函数★★通过基类的指针来删除派生类的对象时,基类的析构函数应该是虚的。否则其删除效果将无法实现。一般情况下,这样的删除只能够删除基类对象,而不能删除子类对象,形成了删除一半形象,从而千万内存泄漏。原因:在公有继承中,基类对派生类及其对象的操作,只能影响到那些从基类继承下来的成员。如果想要用基类对非继承成员进行操作,则要把基类的这个操作(函数)定义为虚函数。转载 2012-11-21 14:10:33 · 509 阅读 · 0 评论 -
C++入门系列——C++中的复制控制(复制构造函数、赋值函数和析构函数)、智能指针
这张图摘来酷壳(陈浩大神的博客),感觉他总结的这个图比较经典,至少我是深有感触,从一开始不顾任何规则乱写,到四处碰壁开始明白c++需要编程规则。一直以来都鼓吹自己是一个写C++的选手,但是说实话从来没有系统的打过C++的基础。对于C++的复制控制机制更是知之甚少,这里将结合C++primer中的相关章节谈一下自己的理解。复制控制首先解释下什么是复制控制,复制构造函数、赋值操转载 2012-11-22 10:29:17 · 638 阅读 · 0 评论 -
你的赋值操作符能正确地将对象赋给对象本身吗?
C++ operator=为什么要判断自我赋值?我们在写operator= 函数实现时,要注意一个问题:要考虑对象自我赋值的情况,因为客户完全可以写下如下代码: Widget w; ... w=w;这样写完全合法,那么我们在写Widget::operator=(xx)的实现时,一定要考虑到这个问题,否则一些想象不到的问题就来"拜访"原创 2012-11-22 11:06:33 · 628 阅读 · 0 评论 -
Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage
安装了VS2008+sp1后出现链接错误:>Copyright (C) Microsoft Corporation. All rights reserved.1>LINK : fatal error LNK1000: Internal error during IncrBuildImage1> Version 9.00.21022.081> ExceptionCode转载 2013-12-26 11:26:35 · 912 阅读 · 0 评论 -
0xC0000005: 读取位置 0x00000000 时发生访问冲突
遇见这种问题一般都是空指针,即:指针里没有赋值~如果你对null 进行操作就会产生空指针异常Object obj = new Object();你要知道 obj是一个Object指针变量,指向Object类的一个实例我们说obj是一个对象 实质是它指向一个对象的首地址 如果这个指针变量obj 没有指向任何空间 你调用它的方法和属性就会出错例如 Object obj =转载 2014-01-09 13:52:05 · 100281 阅读 · 4 评论 -
C++上的机器视觉库
1)mlpack is a C++ machine learning library. 2) PLearn is a C++ library aimed at research and development in the field of statistical machine learning algorithms. Its originality is to allow to easil转载 2013-12-11 19:01:11 · 2621 阅读 · 0 评论 -
怎样获得虚函数指针
先还是看看下面的代码: #include using namespace std; class A{private: int a; int b;public: virtual void vfun0() { cout "A::vfun0"转载 2013-11-27 15:39:01 · 836 阅读 · 0 评论 -
32位操作系统和64位操作系统应该注意的地方
1.数据类型在各种机器中所占的字节数不同16位平台char 1个字节8位short 2个字节16位int 2个字节16位long 4个字节32位指针 2个字节32位平台char 1个字节8位short 2个字节16转载 2013-11-27 14:47:55 · 2815 阅读 · 0 评论 -
无法启动程序,microsoft远程调试器已在远程计算机上关闭
---------------------------Microsoft Visual Studio---------------------------试图运行项目时出错: 无法启动程序“X:\Code\Project\AdKiller\bin\Debug\秋式广告杀手.exe”。“Microsoft Visual Studio 远程调试监视器”已在远程计算机转载 2013-11-26 12:25:06 · 9310 阅读 · 0 评论 -
异或运算实现两个数的交换
通常的交换两个变量a,b的过程为int temp;temp=aa=b;b=temp;需借助上面的第3个临时变量temp.采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量: a = a ^ b; b = a ^ b; a = a ^ b;转载 2013-10-15 08:32:42 · 28942 阅读 · 7 评论 -
关于大小端存储的问题
开头讲个有关大端小端的故事: 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在转载 2013-10-14 10:32:41 · 824 阅读 · 0 评论 -
fprintf 的函数用法简介
fprintf简介 c/c++语言函数: fprintf功 能 传送格式化输出到一个文件中用 法 #include int fprintf( FILE *stream, const char *format, ... ); fprintf()函数根据指定的format(格式)(格式)发送信息(参数)到由stream(流)指定的文件. fprintf()只转载 2013-06-03 21:40:34 · 2448 阅读 · 0 评论 -
学生类的输入与输出
#include "stdafx.h"#include#includeusing namespace std;class Student{ char *Name; char *Number; char *Sex; int Age;public: Student(char*name="",char*number="",char*sex="",int age原创 2012-11-15 10:54:50 · 792 阅读 · 0 评论 -
读C++标准系列 - 8.3.6 缺省参数
读C++标准系列 - 8.3.6 缺省参数 缺省参数不能出现在函数指针、函数引用以及typedef中(8.3-3)缺省参数可以在不同的声明中逐步给出(8.3-4)不同作用域的声明中定义的缺省参数是独立的,互不影响;同一作用域的声明中不能重复定义同一个参数的缺省值。看个例子就明白了:void f(int,int);void f(int转载 2012-11-15 10:53:54 · 410 阅读 · 0 评论 -
二 : using声明、using指示用于嵌套命名空间时的作用域
二 : using声明、using指示用于嵌套命名空间时的作用域 分类: c/c++2012-09-07 15:3136人阅读评论(0)收藏举报上一篇 using声明、using指示及其作用域详解 说的是函数内部或者全局作用域中使用using声明和using指示的情况,这里说的是在嵌套命名空间中使用using声明与using转载 2012-11-06 12:22:19 · 619 阅读 · 0 评论 -
一 : using声明、using指示及其作用域详解
一 : using声明、using指示及其作用域详解分类: c/c++2012-09-06 17:1573人阅读评论(0)收藏举报1. using 声明:一个using声明一次只能引入一个命名空间成员,从using声明点开始,直到包含该using声明的作用域结尾,声明的名字仅仅在该作用域是可见的,外部作用域中相同的名字被屏蔽,它可以出现在全局作用域,局部作用域或者命名空间作用域转载 2012-11-06 12:12:01 · 695 阅读 · 0 评论 -
Opencv如何读取一批图像或者多幅图像序列
Opencv如何读取一批图像或者多幅图像序列2011-01-25 16:22221人阅读评论(0)收藏举报ifstream fin("D://data//imagelist.txt"); // imagelist.txt文件内容是生成的文件夹中所有图像的路径,每个图像的路径为一行char str[300][LINE_LENGTH];//存300个图像路径的字符数组CvGau转载 2012-11-02 21:23:21 · 4417 阅读 · 0 评论 -
.h头文件 .lib动态链接库文件 .dll 动态链接库
.h头文件 .lib动态链接库文件 .dll 动态链接库 分类: win32 SDK2010-03-21 20:021388人阅读评论(1)收藏举报(1).h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的。附加依赖项的是.lib 不是.dll 若生成了DLL ,则肯定也生成 LIB文件 如果要完转载 2012-11-02 15:47:48 · 859 阅读 · 0 评论 -
如何学好C++语言
如何学好C++语言 分类: C/C++2011-04-04 00:3041人阅读评论(0)收藏举报转自:http://coolshell.cn/articles/4119.html昨天写了一篇如何学好C语言,就有人回复问我如何学好C++,所以,我把我个人的一些学习经验写在这里,希望对大家有用。首先,因为如何学好C语言中谈到了转载 2012-11-02 15:27:40 · 589 阅读 · 0 评论 -
C++入门进阶之6: 多态性
C++入门进阶之6: 多态性 分类: C/C++ 2012-09-26 00:06203人阅读评论(0)收藏举报1. 多态是指同样的消息被不同类型的对象接收时导致不同的行为,消息是指对类的成员函数的调用。2. 多态的类型: 重载多态,强制多态,包含多态和参数多态。3.多态的实现: 分为编译时的多态和运行时转载 2012-11-02 15:05:52 · 575 阅读 · 0 评论 -
C++入门进阶之5: 继承与派生
C++入门进阶之5: 继承与派生分类: C/C++2012-09-23 22:2597人阅读评论(0)收藏举报1. 一个派生类可以同时拥有多个基类,这种情况被称为多继承。2. 派生类成员是指除了从基类继承来的成员之外,新增加的数据和函数成员。3. 派生类的生成过程:a. 吸收基类成员 b. 改造基类成员 c. 添加新成员4. 在派生过程中,基转载 2012-11-02 15:00:48 · 574 阅读 · 0 评论 -
C++入门进阶之2: 函数
C++入门进阶之2: 函数 分类: C/C++2012-09-15 23:20133人阅读评论(0)收藏举报1. 函数在没有被调用时是静止的,此时的形参只是一个符号。 函数在被调用时才执行,也是在被调用时,才由主调函数将实参赋给形参。2. 函数调用执行过程: 当程序被启动时,首先从外部存储器将代码加载到内存的转载 2012-11-02 14:54:03 · 516 阅读 · 0 评论 -
C++入门进阶之3: 类和对象
C++入门进阶之3: 类和对象分类: C/C++2012-09-17 01:55221人阅读评论(1)收藏举报1. 面向对象的四个主要特征: 抽象, 封装, 继承,多态2. 与普通的函数不同, 类的成员函数需要在实现的时候使用类名来限制,例如:void Car: getPrice(){//......}3.类成员的三种访问权限转载 2012-11-02 14:49:07 · 481 阅读 · 0 评论 -
调用操作符的重载与函数对象
调用操作符的重载与函数对象 分类: c/c++2012-09-11 17:29111人阅读评论(1)收藏举报一:调用操作符重载:我们可以为类类型的对象重载调用操作符即小括弧”()“,定义了调用操作符的类,在使用定义的调用操作符时,行为就像是调用函数,所以这种对象称为函数对象,即行为类似函数的对象:如下例子为类A定义了调用操作转载 2012-11-06 13:47:39 · 550 阅读 · 0 评论 -
关于C++中的域作用符::
关于C++中的域作用符:: (2007-04-24 23:55)标签:- 分类:人生智慧1. ::域作用符,用来引用全局的变量、函数等 比如 int i = 0; void test() { int i = 3; coutcout}2. 域作用符,用来引用特定的函数或变量。比如说对类中的全局变量的引用;引用上一作用域对象(变量)转载 2012-11-06 13:55:06 · 672 阅读 · 0 评论 -
函数对象的函数适配器
函数对象的函数适配器 分类: c/c++2012-09-12 16:0937人阅读评论(0)收藏举报一。标准库定义的函数对象:标准库定义了一组用于算术、关系、逻辑运算的函数对象类,他们都是类模板,定义在头文件functional中;1. 在这里举一个算术函数对象类型的例子:plus 对2个给定元素进行 + 运算,它定转载 2012-11-06 14:11:27 · 493 阅读 · 0 评论 -
在初始化列表中,成员变量的初始化顺序是其在类中声明顺序,而非列表中的顺序。
关于最近看到的关于类的初始化的问题,我觉得有必要在这里讲一下,可能平时不注意的话,就有可能犯错。看下面的代码: #include "stdafx.h"#includeusing namespace std;class X{ int i; int j; public: X(){}; X(int val) : i原创 2012-11-14 12:23:17 · 3755 阅读 · 0 评论 -
一个简单的数组排序程序
#include "stdafx.h"#includeusing namespace std;class index{int i,j,temp;public: void indexsort(int *a) { for(i=0;i for(j=i+1;j if(a[i]>a[j]) { temp=a[j]; a[j]=a[i];原创 2012-11-15 09:21:35 · 731 阅读 · 0 评论 -
《C++ Primer》 Part IV(Object-Oriented and Generic Programming)
1、在 C++ 中,基类必须指出希望派生类重写哪些函数,定义为 virtual 的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数。2、要触发动态绑定,满足两个条件:第一,必须指定为虚函数;第二必须通过基类类型的引用或指针进行函数调用。除了构造函数之外,任意非 static 成员函数都可以是虚函数。保留字只在类内部的成员函数声明中出现,不能用在类定义体外部出现的函数转载 2012-11-08 20:32:15 · 589 阅读 · 0 评论 -
哪些函数不能为虚函数
哪些函数不能为虚函数 常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1.为什么C++不支持普通函数为虚函数?普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。2.为什么C++不支持构造函数为虚函数?这个原因很简单,主要是转载 2012-11-08 21:02:43 · 467 阅读 · 0 评论