自定义博客皮肤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 8002

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

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

2019-01-04 18:05:40 1065

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

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

2019-01-02 20:13:32 899

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

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

2019-01-02 13:03:09 2873

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

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

2019-01-02 12:33:11 3784

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

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

2018-12-28 20:51:40 1028

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

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

2018-12-21 17:58:10 561

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

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

2018-12-20 19:51:03 1634

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

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

2018-12-20 12:50:31 2086

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

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

2018-12-19 21:52:30 3390

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

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

2018-12-19 19:18:38 22453 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 573

原创 C++的三种循环

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

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

原创 C++加密文本程序

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

2018-12-13 20:31:25 3581

原创 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 3000 5

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

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

2018-12-11 18:27:01 2317

原创 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 17941 2

原创 C++实现积分函数

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

2018-12-09 12:43:24 16029

原创 C++实现分数类

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

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

原创 C++链表类

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

2018-12-07 12:55:55 1158

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

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

2018-12-06 19:30:04 3895

原创 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 479

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

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

2018-12-06 12:39:30 275

原创 用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 641

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

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

2018-12-05 12:51:08 1064

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

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

2019-01-09

后缀表达式计算器.cpp(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关注的人

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