c++
文章平均质量分 52
magiclyj
一拼再拼!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++关键字
1、const2、mutable3、 volatile原创 2021-06-27 12:28:04 · 407 阅读 · 0 评论 -
宏(macro)定义的简介
经常在项目中会遇到宏定义这个东西,最近也因为项目需要要用宏来隔开一些function的使用以及区分一些setting,宏定义呢实用#开头的,说起这个东西大家第一印象应该就是preprocessing了吧,下面会通过一些例子我们一起了解一下宏。不过呢先说一下我对宏定义的理解,宏定义就想象成为本替换,想了解清楚就文本替换还原回去就能明白了。 下面我们就开始进入主题,来进一步了解一下宏:1. 宏简单实用演示:1.1宏的简单使用说明#define square(x) x*x/**下面我们就来用一下原创 2020-11-22 01:56:52 · 2251 阅读 · 4 评论 -
C++如何直接输出不需要缓存区
之前在c语言中做项目中遇到过需要直接把东西输出,不需要经过缓存区,当时我们才用了flush()函数来实现的,今天在做C++项目的时候希望实现动态输出的效果,用到了直接输出方法,在网上查了一个方法使用cerr,下面我们来看看cerr: cerr对应标准错误流,用于显示错误消息。默认情况下被关联到标准输出流,但它不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示原创 2017-07-21 20:45:41 · 1793 阅读 · 0 评论 -
C++中的继承和虚函数、纯虚函数
一、继承C++中存在着继承关系,可以想象称为世袭制,哈哈这样会更有助于帮助理解,C++中的继承和我们现实中的世袭是差不多的,C++中的继承在两个或者多个类中体现的,这里我们直说两个类的,复杂的继承我们不进行讨论。我们都知道继承不能够继承父的生和死还有他的私有,继承和我们类中声明方法和成员是类似的,也有公有继承、保护继承和私有继承三种。我们分别来看看这三种属性的继承: (说明:父类的私有成员和方法只原创 2017-08-16 22:53:18 · 862 阅读 · 2 评论 -
C++继承之 重载 、覆盖、隐藏
在C++ 继承中经常会遇到函数重载、覆盖、隐藏这三个玩意,但是这三者的本质区别又是什么,自己在网上和资料里查后并通过代码证实,下面我们看看者三者的本质: 1、重载: 重载是C++独有的一个特性,C下面是没有的,具体分析请看:http://blog.youkuaiyun.com/magiclyj/article/details/71081288. 这里我们来具体看看重载,重载特点: 1、在同一范围 2、原创 2017-08-18 11:23:35 · 562 阅读 · 0 评论 -
Linux下面的文件读写操作方式
在Linux里面有三种方式可以读写文件,分别是系统调用、C语言文件操作、c++方式文件操作。下面我们来分别看看这三种方式的操作:1、系统调用:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int flags);int open(const char *pat原创 2017-08-13 20:39:52 · 10442 阅读 · 1 评论 -
C++继承之钻石继承和虚继承
C++中继承在之前博客里分享过,主要说的是连个特殊的继承:钻石继承和虚继承两个身份证号显然是不合理的。可以把class Person这个共同基类设置为虚基类,这样从不同路径继承来的同名数据成员在内存中就只有一个拷贝,同名函数也只有一种映射。 。1、钻石继承:1)首先我们先看一个简单的继承: 1 #include <iostream>原创 2017-08-29 12:34:19 · 1084 阅读 · 0 评论 -
快速排序和归并排序算法
快速排序: https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/369842?fr=aladdin&fromid=2084344&fromtitle=%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F#includeusing namespace std原创 2017-09-20 11:21:57 · 821 阅读 · 0 评论 -
LINK : fatal error LNK1104: cannot open file "Debug/xxxxx.exe"
在使用VC6.0的时候,编译都没问题,但是在执行链接的时候就报错,有四个个方法可以解决: 1、有的时候编译器可能记录执行的是之前的程序,当你需要执行现在的程序就发成了冲突,你可以点击组建–》清楚,再点击组建-》重建试试,不行的话在试试下面的方法; 2、打开Windows任务管理器,在进程里面查看是否存在xxxx.exe在运行中,如果存在就直接关闭进程。 3、重新建立一个工程,将代码复制过去,如原创 2017-07-18 07:53:40 · 2660 阅读 · 2 评论 -
C语言中字符串函数的使用底层实现方法
#include#includeusing namespace std;int Strlen(char *ar)//length { int len=0; if(ar == NULL) return 0; while(*ar++ != 0) { len ++; } return len;}void St原创 2017-04-06 15:33:46 · 1114 阅读 · 0 评论 -
如何获得变量和返回参数的类型(上篇)
在我们平时的代码编写中,当我们把变量显式的写出来的时候我们能够知道它是哪种类型的,例如:int a;我们能看出来这里的a是整型变量,但是如果我们想获取a的类型给怎么做呢?或这说在其它函数给我传过来参数我如何确认参数的类型以及如何用这个参数的类型去定义另外一个变量呢? 下面我们来看看如何获取一个参数的类型:#include<iostream>using namespace std;templat原创 2017-06-25 21:41:12 · 782 阅读 · 0 评论 -
位操作的原理
在C语言中运算最快的应该就是对数据进行位操作了,位操作有很多,如位移、位与、位或、位异或,下面我们就来看看那这些操作的实现,在这里要提醒大家的是位的操作不会改变数据本身,只有当你让初始化后的变量等于它本身的位操作后变量值才会改变,那么下面我们就来看看那这些位操作的实现过程:#include<iostream>using namespace std;//1、位移,位移有左移和右移两种,位移操作符原创 2017-04-12 20:25:51 · 848 阅读 · 0 评论 -
智能指针之scoped_ptr
#include#includeusing namespace std;templateclass scoped{private: T *px; scoped(const socped &b) {} scoped operator=(const socped &b) {}public: scoped(T *p = 0):px(p) {}原创 2017-06-04 22:26:45 · 325 阅读 · 0 评论 -
C++如何直接对对象进行运算操作
在c++中类的对象数据根据类的定义有关,通常类对象的数据都被定义为私有成员,防止外部对其随意更改而设定的,只有通过类自己定义的方法可以来访问类的私有成员,而在很多操作符面前对于类对象是不能直接进行操作的,要想直接操作有两种方法,一种是在类里写一个该操作符使用的方法来实现,另一种就是通过我们所说的重在操作符来实现。 这里我们先来看看重载输出流的方法:ostream& operator<<(ostre原创 2017-06-05 15:33:21 · 918 阅读 · 0 评论 -
C++下的new operator、operator new 、placement new和set_new_hander函数讲解
1、new operator 1)申请空间 2)构造对象 3)delete对象的时候, 先析构 再释放#includeusing namespace std;class Test{public: Test() { cout"Create Test Object ."<<endl; data = malloc(sizeof(原创 2017-06-09 09:15:16 · 486 阅读 · 0 评论 -
C++强制类型转换
在我们编程过程中经常遇到一些需要进行转换的数据操作,比如把整型转换为字符型。在C语言中我们进场这么做,转换也分隐式和显示转换。下面我们从C语言出发,通过代码来看看类型转换:#include<stdio.h>{ int a = 65; int b = 70; char ch = (char)a;//强制显示转换 printf("%d , %f, %c",a,b,c);原创 2017-06-19 21:14:14 · 2967 阅读 · 0 评论 -
关于boost库里的内存池pool
内存池是一种可以提高程序效率的一种途径,内存是提高的地方就是一次申请一块较大的内存,在你后面使用的时候就直接在申请好的内存中申请使用即可,省去了每次单独申请空间时间。也避免了内存碎片,当申请的内存足够大,在使用的时候函数中申请内存迟里的内存时候,如果申请的空间牛才能没有用完,剩下的内存#include#include#include#include#include#includeu原创 2017-06-20 11:07:51 · 582 阅读 · 0 评论 -
C++类字节对齐
在c语言中,结构体有字节对齐,c++中的类也有字节对齐。在原创 2017-06-09 08:13:51 · 5878 阅读 · 3 评论 -
智能指针之auto_ptr
智能指针简单的说它就是有指针和智能两个方面。首先是个指针,其次这个指针有着比平常指针更智能的方面,至于这些智能方面是如何体现的我们在这里一一来讨论: 智能指针在CPP下就是一个行为类似指针的模版类对象,要注意的是在定义智能指针对象的时候不能定义成指针对象。如果使用智能指针就必须引用到头文件memory,这个文件是模版定义。下面我们来看看auto_otr智能指针的代码,通过解读代码来熟悉这个指针指原创 2017-06-10 20:53:14 · 252 阅读 · 0 评论 -
C++中的class和typename
**在C++ template中经常会出现两个关键字,那就是typename和class . 在很多时候好想typename和class可以替换,但他们并不是完全相同的 。 class应给是大家用的比较熟的,它是用来定义类的,如template<class Type>......,这样大家都知道Type它是个类型,但是typename也可以在这样定义template<typename Type>,那原创 2017-03-23 21:18:44 · 484 阅读 · 0 评论
分享