- 博客(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++)
2019-01-09
后缀表达式计算器.exe(C++)
2019-01-09
C++处理两个整数表示的字符(英文/中文/符号混合)
2018-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅