C++
Nire_谒羽
这个作者很懒,什么都没留下…
展开
-
最实用的Makefile教程 真的很简单(搞不明白网上的教程写那么复杂干嘛)
前言其实我的要求不高,我就是想要写个Makefile,把我那些需要反复编译的文件处理一下就可以了,所以我当时就拼命地在网上找关于Makefile的教程,结果看到的教程都是啰里啰嗦一大堆,看得我云里雾里。大家要知道,在一些大公司里面,有一个职业是专门写Makefile的,可是我就想用Makefile完成那么一点基础的工作,你给我整那么多乱七八糟的东西干嘛。在经受网上各种教程的毒打之后,我实在是忍不住了,我自己写一个教程算了。大家看这篇文章的时候,如果你也和我一样,一开始只是想解决最基础的问题,你就只要.原创 2020-05-27 13:31:28 · 22102 阅读 · 20 评论 -
C++如何写日志文件(含源码 可直接套用)
简介我们平常自己在写项目的过程中,经常把程序运行的信息打印在控制台上,但是真正实际在工作过程中,特别是在一些已经运行起来的服务器上,我们不可能一直盯着控制台在那边查看程序的运行情况吧。针对这样的情况,我们一般会将需要打印出来的信息写在一个文件里面,即使隔了很多天,我们依旧可以回过头来查看程序的运行状况,这就是日志的作用。日志的等级首先,我们要明确,日志是分等级的。有些事情很重要,比方说程序的运行发生错误,我们一般会把错误信息存进日志里面。但是频繁的IO操作是非常消耗程序性能的,所以我们一般把那些无关原创 2020-05-26 16:24:19 · 10723 阅读 · 0 评论 -
char[ ]类型转换为CString类型
我们在用C++写MFC程序时,可能会出现以下问题:void SaveRawData(unsigned short* m_pRawBuffer,unsigned long ImageSize ,CString Bla );//函数原型SaveRawData((WORD *)pDataGet,Datalength,"Raw.txt");//调用函数此时,编译器会报错:error C2664...原创 2020-01-09 15:19:54 · 4190 阅读 · 0 评论 -
error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument types
问题描述本人用Microsoft Visual Studio编写MFC代码在使用函数AfxMessageBox( )是发生错误:AfxMessageBox("GetDIBits");编译器显示的错误为:error C2665: ‘AfxMessageBox’ : none of the 2 overloads could convert all the argument types重...原创 2020-01-09 14:59:21 · 1604 阅读 · 1 评论 -
Vfw32.lib下载 error LNK2001: unresolved external symbol _AVIStreamWrite@32
问题描述:本人使用 Microsoft Visual Studio 编写 MFC 代码在编写压缩、存储等与视频相关的代码时(以下代码为例):int Compress(void *aBuffer){ //CyAssert( mCompressing ); //CyAssert( mTempBuffer != NULL ); long lSamplesWritten, lBytesWr...原创 2020-01-09 14:36:50 · 875 阅读 · 1 评论 -
error C2664: 'sscanf' : cannot convert parameter 1 from 'CString' to 'const char *'
问题描述本人使用Microsoft Visual Studio编写C++MFC代码。在调用 sscanf() 函数的过程中:CString str;char m_port[255]="";str.Format(_T("fpatemp:%.1f,devtmp:%.1f,fpaAvg:%d,ave:%d--max:%.1f℃(%d),min:%.1f℃(%d),center:%.1f℃"),...原创 2020-01-09 13:23:44 · 1246 阅读 · 0 评论 -
C++的this指针
一、this指针特点1.成员方法(构造函数)中,局部变量和成员变量同名时,如果直接使用该变量则访问的是局部变量,局部变量会隐藏成员变量这样写是错的:Stu(int no,string name,int age,int score){//局部优先原则 局部变量和成员变量同名时 局部变量会隐藏成员变量 no = no; name = name; age = age; score...原创 2019-10-12 17:15:12 · 756 阅读 · 0 评论 -
C++类的初始化列表(一开始真没想到花样这么多)
一、前言:一开始,我其实不打算把初始化列表单独拿出来写一篇文章的,我打算在创建一个类的那一篇文章里一起写掉,但是写着写着就发现事情没有我想的那么简单,这里面的内容还是比较多地。二、初始化列表格式:在构造函数里面可以通过初始化表的试来初始化成员属性只有构造函数才有初始化列表class 类名{类名(形参列表):成员属性(形参变量),…{}类名(形参列表):初始化列表{}};三、初...原创 2019-10-12 16:20:28 · 5446 阅读 · 1 评论 -
C++中如何创建一个类?
1.创建类的语法class 类名{};class是定义类的关键字,和struct基本相同2.类里面的变量类里的变量即属性 成员变量 把对象共同的特征抽象为属性(成员变量) 共性成员变量 用来 描述 一类事物的特征3.类里的函数类里面的函数 即方法 成员方法(函数)把对象共同的行为抽象为方法(函数)成员方法 用来 描述 一类事物的行为4.创建对象类实例化具体的对象 ...原创 2019-10-12 11:41:19 · 18087 阅读 · 1 评论 -
小科普:什么是面向对象编程的思想?
什么是面向过程的编程?以前,我们写C语言的时候,用的是面向过程的编程思想:若要解决一个问题,首先把问题分解成若干个步骤,每个步骤封装成对应的功能函数,解决问题依次调用这些函数即可。举个例子:怎么把一头大象装进冰箱里?1.打开冰箱门2.把大象赶进去3.头上冰箱门Perl之父——拉里·沃尔曾经说过一句非常著名的话:程序 = 数据结构 + 算法;他也因此获得了计算机界的最高奖项——图...原创 2019-10-12 10:23:31 · 350 阅读 · 1 评论 -
C++和C语言有什么区别?为什么要学习C++?
区别(C++的优势?):C++支持面向对象编程C++支持运算符和函数重载C++支持异常处理C++支持模板为什么我们要学习爱C++?虽然C++的需要永远不会有现在java的市场需求,但是C++的市场是其它编程语言永远无法侵蚀的;高性能、建模能力强;C++的性能(优化之后)比C语言相差无几 ,但C++的开发效率比C有了极大的提高;嵌入式开发中 C和C++相辅相成;C++与C...原创 2019-10-11 12:02:43 · 1187 阅读 · 0 评论 -
面试题:C++空类中有哪些成员函数?
说句实话,这个问题到底有多大意义?除了面试的时候,平时我们为什么要去关心这种问题?但是没办法啊,大家还是了解一下吧,以备不时之需:空类class Empty { public: Empty(); // 缺省构造函数 Empty( const Empty& ); // 拷贝构造函数 ~Empty(); // 析构函数 ...原创 2019-10-10 11:09:47 · 2348 阅读 · 1 评论 -
从零开始 第一个C++程序(温暖的问候)
前言:当我们学习一门新的编程语言时,难免会有些迷茫,但是我们不妨像婴儿学习走路一样,一点一点地仿照,慢慢学习。一定会有意想不到的收获。第一个C++程序:1.源代码#include <iostream>using namespace std;int main(){ cout << "Hello world!" << endl; return 0;...原创 2019-09-07 15:00:01 · 3170 阅读 · 0 评论 -
C++的名字空间(很重要)
一、什么是名字空间?C++中对函数、变量、类型进行逻辑上的划分,避免同名的标识符重定义。当我们在处理非常庞大复杂的项目时,不可避免地需要多人共同合作,可是人一多,取出来的名字难免重复,于是就会发生重定义的错误,而名字空间很好地帮我们避免了这个问题。二、名字空间的使用1.语法namespace 名字空间名{//变量//函数//类型…}C++中名字空间名相同,表示它们是同一个名字...原创 2019-09-07 15:58:36 · 1083 阅读 · 0 评论 -
C++中的结构体、联合、枚举
一、C++中struct1、C++和C语言的区别(1)C++中的空结构体求sizeof大小为1,C中的空结构体大小为0#include <iostream>using namespace std;//C++中的空结构体的大小为1struct A{ };struct B{ char c; void show(){ cout << "show" &l...原创 2019-09-10 19:36:47 · 1257 阅读 · 0 评论 -
C++中的函数(重要知识点)
一、 C++中的函数支持重载1、重载:在同一个作用域下面,函数名相同,参数列表不同,即构成重载前提: 同一个作用域条件:(1)函数名相同(2)参数列表不同相同位置处参数的类型不同 或者 参数个数不同,与形参名无关(3)与返回值类型无关#include <iostream>using namespace std;double sum(int x,double d){...原创 2019-09-10 20:15:50 · 2305 阅读 · 1 评论 -
C++的动态内存
C语言中申请动态内存:malloc/calloc/realloc/freeLinux中申请动态内存:brk/sbrk -> mmap/munmapC++中申请动态内存:new/delete1.动态内存的申请new/delete是两个运算符 用于申请/释放 单个单位长度的内存空间;new用于申请动态内存;new 类型名; new不需要告诉编译器申请多大的内存,编译器...原创 2019-09-10 20:28:24 · 1167 阅读 · 0 评论 -
C++中的引用(重要知识点)
前言:引用即别名对变量取另外的名称,相当于是取了一个错号。引用变量与其所引用的变量的地址其实是同一个;C++用引用来取代指针声明引用变量:数据类型& 变量名 = 变量;数据类型 和 变量 的类型必须完全一致;一、引用的知识点:1.引用必须初始化 引用一经定义必须初始化int& z; //错误的#include <iostream>using na...原创 2019-09-10 21:00:48 · 1418 阅读 · 0 评论 -
C++中的显示类型转换
一、静态类型转换目标类型 变量 = static_cast<目标类型>(源对象)使用场合:如果源对象和目标类型对象任何一方可以进行隐式类型转换,那么两边都可以进行静态类型转换例如:char 可以隐式转换成 int;int* 可以隐式转换成 void*则:这两者可使用静态类型转换#include <iostream>using namespace std;...原创 2019-09-13 16:31:44 · 1183 阅读 · 0 评论 -
C++面试高频考点 重写、重载、隐藏有何区别?
这么多年过去了,对于应届毕业生,函数的重写、重载、隐藏始终是一个非常重要的知识点;重写1、分别位于父类和子类中;2、父类的函数必须有virtual;3、子类中的函数与父类虚函数的函数名、参数列表、返回值都必须相同;重载1、要在同一个作用域下;2、函数名相同,参数列表不同(和返回值无关);3、和有没有virtual无关;隐藏在实际使用过程中,你会发现,一旦名字相同,无论参数列表怎...原创 2019-10-10 10:48:48 · 1168 阅读 · 0 评论 -
从零开始 了解C++
首先,我们要明确一个概念——C++扩展了C语言的语法。C是C++的一个子集,C++完全兼容C语言,C语言的语法在C++中依然能够使用。1.C++的发展史1983:本贾尼·斯特劳斯特卢普 C++1985:第一个C++的编译器1987:GUN C++1989:ISO C++的准1992:MS(微软) C++ 图形界面库(win32/MFC) IBM2003: ISO 对C++...原创 2019-09-07 14:42:56 · 7894 阅读 · 2 评论