自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (3)
  • 收藏
  • 关注

原创 C++的运算符(九)—— .* , ->*(成员指针运算符)

目录文章:C++中运算符的优先级   成员指针是什么?是指向一个类中某个成员的指针。注意是直接指向,不是通过某个对象指向的。 如果要定义一个成员指针,用这样的语法: class cl{ public: int mint; double get_mint(float adder){ return mint+adder; } }; int cl...

2019-01-17 10:45:41 8325

原创 C++的运算符(八)—— new/delete , new[]/delete[](动态内存分配运算符)

目录文章:C++中运算符的优先级   这篇文章主要讲动态内存分配运算符的用法和知识。                                                一、定义动态数组 有时候,按照最大数定义数组并不是好方法——比如大部分时候数很小,而只有几次要用很大的数。这时候就会浪费内存。有一个办法可以解决:那就是定义动态的数组。 我们可以这样定义数组: int* a...

2019-01-04 18:05:40 1192

原创 C++的运算符(七)—— * , & , sizeof(解引用与取地址运算符、获得大小运算符)

目录文章:C++中运算符的优先级                                                   解引用与取地址运算符 解引用与取地址运算符一句话的基本描述:假设有一个n级指针p,那么*p代表(n-1)级指针(n>0),&p代表(n+1)级指针(n>=0)。 几个知识点: 它们是可以被重载的,这在智能指针中很有用。 对于一个普通变量...

2019-01-02 20:13:32 1072

原创 C++的运算符(六)—— + , - , ! , ~(涉及正负的运算符:正负号、逻辑非、按位取反)

目录文章:C++中运算符的优先级                                                         正负号 几个小知识: 实际上,正号+没有任何作用,它只是配合负号的符号。 如果是一个正数或0,负号后就变成了相应的负数;如果是一个负数,则会变成相应的正数。(如果越界会导致一个奇怪的数) 它们都可以被重载。                   ...

2019-01-02 13:03:09 3158

原创 C++的运算符(五)—— . , ->(成员访问运算符)

目录文章:C++中运算符的优先级           ' . ' 和 ' -> ' 用于类内和友元访问private、protected、public成员,子类访问父类的protected、public成员,外界访问public成员。其中  ' . ' 用于通过对象本身访问成员, ' -> ' 用于通过指向对象的指针访问成员。在Dev-C++ 5.11中,如果两者混用,会导致一个错...

2019-01-02 12:33:11 3927

原创 C++的运算符(四)—— () , [](函数调用和下标访问)

目录文章:C++中运算符的优先级                                              函数调用运算符: () 在函数名后面,通常要加上函数调用运算符,就是括号,表示调用。括号是唯一一个在重载时参数数目可变的运算符。 有一种情况,函数名后面不用加括号…………相信大家都猜到了,那就是函数指针。函数指针的定义方法如下: 返回值类型 (*函数指针名)(函数参...

2018-12-28 20:51:40 1180

原创 C++的运算符(三)—— () , {}(类型转换)

目录文章:C++中运算符的优先级   C++中有三种类型转换运算符:(type)name,type(name),type{name}。 其中,第一种叫做C风格转换运算符,第二种和第三种叫做函数风格转换运算符。 在类型名为long long、unsigned int、long double这样的中间带空格的名称时,需要在外面加一层小括号。 在转换的表达式的优先级低于类型转换运算符时,需要在...

2018-12-21 17:58:10 663

原创 C++的运算符(二)—— ++/--(自增/自减运算符)

目录文章:C++中运算符的优先级   ++/--运算符,是自增/自减运算符,后缀运算符的优先级是2,前缀运算符的优先级是3。 ++/--运算符分为两部分:前缀和后缀。 前缀自增/自减运算符:     用法:++a 、--a 。     意义:自增/自减变量,返回自增/自减后的值。 后缀自增/自减运算符:     用法:a++ 、a-- 。     意义:自增/自减变量,返回自增/...

2018-12-20 19:51:03 1893

原创 C++的运算符(一)—— ::(作用域运算符)

目录文章:C++中运算符的优先级   ::运算符,是作用域运算符,是C++语言中优先级最高的运算符。 它有以下几种用法: 1. 代码块的作用域。在函数内如果有一个与全局变量重名的变量,可以用 ::a 的形式访问(a是全局变量名)。例如: #include<iostream> using namespace std; int a=1; int main(){ int ...

2018-12-20 12:50:31 2357

原创 C++中cin/cout和流符号的原理(对重载输入输出流比较有用)

cin/cout并不是C++的关键字,而是对象。 C++的<iostrem>中,有一个istream类和一个ostream类,而cin就是istream类的对象,cout就是ostream类的对象。 流符号是怎样实现的呢? C++支持重载运算符,而流符号(<<、>>)就是重载了左移和右移运算符的结果。i/ostream类有多个左移/右移运算符,用来输入/输...

2018-12-19 21:52:30 3592

原创 C++中运算符的优先级

C++运算符优先级列表 优先级序号 运算符名 目 结合性 备注 1 :: 2 从左到右 作用域运算符 2 ++ , -- 1 后缀自增自减运算符 () , {} 2 函数风格转型 () 2 函数调用 [] 2 下标访问 . , -> 2 成员访问 3...

2018-12-19 19:18:38 22898 1

原创 C++中类型的通常范围和所占空间大小

重要声明:以下表格是在  Windows10 和 Dev-C++5.11 和 g++ 和 64-bit Release  环境下测试的结果。 C++类型的范围和所占空间大小 类型 数值范围 空间大小(sizeof) bool 0或1 1 char -128~127 1 unsigned char 0~255 1 short ...

2018-12-15 21:06:27 729

原创 C++的三种循环

有时,我们要让计算机重复做一件或多件事情,这时候就要用到循环了。 C++有3种循环:for循环、while循环、do-while循环。                                             for循环 for循环的格式如下: for(初始语句;循环条件;一次循环结束时执行的语句){ 循环体 } 在小括号内的三项都可以省略,如果全部省略( 形如 ...

2018-12-14 21:32:53 17897 2

原创 C++加密文本程序

加密算法: 生成一个随机数(称作n);(占密码的前三位,统一把每一位加上97) 生成和原字符串大小同样多的数字(称作a),为了加密,把数字加上n;(占接下来的几位) 在原来每个字符上加上a中对应的值。(占最后几位) 解密算法: 分段(前三位一段,后面平均分成两份); 根据加密算法反向进行解密。 代码如下: (加密) #include<iostream> #include...

2018-12-13 20:31:25 3766

原创 C++中关于a=a++的问题

先看一段代码: #include<iostream> using namespace std; int main(){ int a=0; a=a++; cout<<a; return 0; } 猜猜程序的运行结果?   运行结果:     1.编译警告([-Wall])[Warning] operation on 'a' may be undefine...

2018-12-12 12:51:34 3204 1

原创 C++的if/else语句、switch/case语句

有时候,代码中需要实现这样一个功能:当一个条件为真时做一件事,为假时做另一件事。这就引出了if/else语句。 if/else语句规则如下: 1. 标准格式: if(条件){ //条件为真时做 } else{ //条件为假时做 } 2. 如果条件为假时要什么都不做,可以去掉else{}语句块。 3. 如果大括号内只有一条语句,大括号可以省略不写。 4. else只和它...

2018-12-11 18:27:01 2597

原创 C++实现求斐波那契数列的第n项

斐波那契数列,即1、1、2、3、5、8、13、21、34、55……,规律是从第三项开始,每个数都是前两个数之和。用编程实现求它的第n项,代码如下: #include"E:\C++ h\big_number_f.h" #include<iostream> using namespace std; int main(){ int n; cin>>n; string a...

2018-12-10 12:31:57 18476 2

原创 C++实现积分函数

        用积分这个积分函数可以解决算面积的问题(要先实现要积分的那个函数),如算、、或这样的函数。         代码如下: //integral.h #ifndef INTEGRAL_H #define INTEGRAL_H template<typename Tfunc,typename Tans=double,typename Tnumber=unsigned long...

2018-12-09 12:43:24 16340

原创 C++实现分数类

在几乎所有的语言中(至少我知道的语言都是这样),浮点数都是有精度丢失的。 怎么解决呢? 分数类就是解决办法之一。         分数类采用分数的形式,保存了两个整数之比,确保了精度。         分数类,肯定是要有约分、通分等函数和加、减、乘、除运算符的。(当然,要先实现求最大公因数和最小公倍数函数)这些都是基本数学知识。         代码如下: #ifndef F...

2018-12-08 11:48:59 9360 2

原创 C++链表类

链表是一种线性数据结构,占用不连续的内存,用一个或两个指针(或元素的代号)保存与其相邻的元素。 怎么用类实现一个链表呢?(这里我们讨论双向链表) 首先,我们可以建一个数组,保存各元素,只不过元素的顺序不一定是按照下标排列的。 元素可以用一个结构体表示,它有三个元素:数值、上一个元素的指针、下一个元素的指针。   然后,要添加头指针和尾指针,以确定头和尾的位置。   接着,我们最好考虑...

2018-12-07 12:55:55 1283

原创 快速输入输出类(C++)

        我们知道,cin/cout是很慢的,所以我们经常scanf/printf。但是如果要求更严格一些,速度要更快,该怎么办呢?有一种解决办法,那就是——快速输入输出。         快速输入输出采用getchar()和putchar()函数,用了数字累加的方法输入/输出数。         我们也可以把快速输入输出定义成类,就像cin/cout一样。 代码如下: //qio...

2018-12-06 19:30:04 4171

原创 ASCII码显示器(C++)

这个显示器能显示ASCII码为32~126的字符。代码如下: #include<cstdio> using std::printf; using std::scanf; void output(){ printf(" _______________________\n"); printf(" | 字 符 | ASCII码 |\n"); for(int i=32...

2018-12-06 18:44:15 598

原创 在程序内编程(C++)

我的这个程序的目的是在程序(.exe)内输入一种代码,让这段代码执行。 这是程序的运行图。 那句 End of Program 就是代码输入的结束,后面的是程序的运行结果。 代码规则: 支持int、double、string、long(就是long long)、char类型。 支持“句首关键字”newvar(创建新变量)、change(改变变量的值)、input(输入变量的值)、ou...

2018-12-06 12:39:30 348

原创 用string容器实现大整数比较、加、减、乘和除(用减法实现)(函数版)

这些函数支持2~36进制,采用的是STL中的string容器。 //big_number_f.h #ifndef BIG_NUMBER_F #define BIG_NUMBER_F #include<iostream> #include<string> #include<algorithm> using namespace std; string erase...

2018-12-05 21:23:28 719

原创 C++实现测试函数运行时间函数

使用方法: gettime(函数名,[要测试函数的参数,在0~3个范围内],时间单位) // 时间单位如果不写,默认为毫秒。 // 时间单位的格式: // ns 纳秒 // us 微秒 // ms 毫秒 // s 秒 // min 分钟 // h 小时 // d 天 具体实现(注:Windows系统): //get...

2018-12-05 12:51:08 1145

后缀表达式计算器.cpp(C++)

C++的后缀表达式计算器,运用栈,可以方便地得出浮点数运算的结果。支持的运算符有+、-、*、/、&、|、^、(右移)、`(乘方)、!(整数阶乘)、\(绝对值),其中整数阶乘和绝对值是单目运算符,其它的都是双目运算符。一个数后面必须加空白字符(不管后面是其它数还是运算符还是结束符)。以等于号=结束。不支持正负号,如果要用负数可以用 0 a - 来表示,其中a是负数的绝对值。能运算的范围:-1.1897315e+4932~1.1897315e+4932,精度:18~19位。(没错,我用的是long double)。

2019-01-09

后缀表达式计算器.exe(C++)

C++的后缀表达式计算器,运用栈,可以方便地得出浮点数运算的结果。支持的运算符有+、-、*、/、&、|、^、(右移)、`(乘方)、!(整数阶乘)、\(绝对值),其中整数阶乘和绝对值是单目运算符,其它的都是双目运算符。一个数后面必须加空白字符(不管后面是其它数还是运算符还是结束符)。以等于号=结束。不支持正负号,如果要用负数可以用 0 a - 来表示,其中a是负数的绝对值。能运算的范围:-1.1897315e+4932~1.1897315e+4932,精度:18~19位。(没错,我用的是long double)。

2019-01-09

C++处理两个整数表示的字符(英文/中文/符号混合)

在这个头文件里有两个类:ECletter和ECletters。ECletter是一个英文/中文/符号字符(占两个int),支持取单独的一位int、输入输出、比较,支持用一个int、两个int、const char[]、wchar_t初始化和赋值;ECletters是一个固定大小的ECletter数组,但有其它的功能:用一个int或两个int或const char[]或wchar_t初始化和赋值、取大小、用下标运算符和at()返回单个ECletter、输入输出、比较(==和!=判断是否相等,用字典序判断是否小于/大于/小于等于/大于等于)。还有一个typedef:typedef vector<ECletter> ECletter_v; 。注意,ECletters用unsigned int模板确定大小,比如这样定义了一个大小为10的、内容全为"我"的ECletters: ECletters<10> ec_letters="我"; 。at函数有两种用法:.at<num>()和.at(num),其中第一种是编译期检查越界,第二种是运行期检查越界。[]运算符不检查越界。

2018-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除