![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++程序设计
文章平均质量分 79
笑彪夕
这个作者很懒,什么都没留下…
展开
-
char型和数值型之间的转换
一个char类型值可以转换为数值类型,反之亦然。把一个整数转换为char型,只用到它的低八位(假设系统用8个二进制位保存一个字符),其他部分都会被忽略。例如,看如下代码: char c = 0XFF41; // The lower 8 bits hex code 41 is assigned to c cout 把一个浮点数转换为char型,首先将浮点数转换为int型,再将得到的int型原创 2017-01-25 13:06:32 · 3513 阅读 · 0 评论 -
C++ 函数与函数调用(传值、指针、引用调用)
函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。 函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。 ...原创 2018-04-15 00:24:42 · 3338 阅读 · 0 评论 -
抽象类与接口的区别
一、引言 本文主要是由一些个人观点和网上搜集的资料整理而成。对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?让它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,它是什么意思,有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问。二、面向接口编程和面向对...转载 2018-04-15 01:15:07 · 530 阅读 · 0 评论 -
C++ 模板(泛型编程)
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector <int> 或 vector <string>。您可以使用模板来定义函数和类,接下来让我们一起来看看如何...原创 2018-04-15 01:51:05 · 583 阅读 · 0 评论 -
C++ 内联函数 inline
C++ 内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数。如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline,在调用函数之前需要对函数进行定义。如果已定义的函数多于一行,编译器会忽略 in...原创 2018-04-15 02:00:56 · 553 阅读 · 0 评论 -
C++运算符
C++ 运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++ 内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。算术运算符下表显示了 C++ 支持的算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:运算符描述实例+把两个操作数相加...原创 2018-04-15 02:18:15 · 4454 阅读 · 0 评论 -
常见的排序算法
比较排序:选择排序:时间复杂度O(n^2)插入排序:时间复杂度O(n^2)冒泡排序:时间复杂度O(n^2)快速排序:时间复杂度O(nlogn)归并排序:时间复杂度O(nlogn)非比较排序:...原创 2018-04-15 02:28:28 · 492 阅读 · 0 评论 -
普通局部变量、普通全局变量、静态局部变量、静态全局变量、普通函数、静态函数区别
普通全局变量与静态全局变量 在全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。 全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。 这两者的区别在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作...原创 2018-04-12 13:45:03 · 1553 阅读 · 0 评论 -
动态规划 HDU - 2044 一只小蜜蜂
Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。 Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。 Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占...原创 2018-03-30 22:01:50 · 547 阅读 · 0 评论 -
C/C++ sizeof操作符用法详解
0. 前向声明sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎各位扔...转载 2018-03-24 02:52:57 · 808 阅读 · 0 评论 -
C/C++中流的基本概念
C/C++中流的基本概念在C++语言中,数据的输入和输出(简写为I/O)包括对标准输入设备键盘和标准输出设备显示器、对在外存磁盘上的文件和对内存中指定的字符串存储空间(当然可用该空间存储任何信息)进行输入输出这三个方面。对标准输入设备和标准输出设备的输入输出简称为标准I/O,对在外存磁盘上文件的输入输出简称为文件I/O,对内存中指定的字符串存储空间的输入输出简称为串I/O。转载 2017-01-25 16:48:54 · 1044 阅读 · 0 评论 -
关于编程风格和文档的扩展指南
Supplement E: Expanded Guidelines on Programming Style and Documentation For Introduction to C++ ProgrammingY. Daniel Liangliang@armstrong.eduIntroductionProgramming style deals wit原创 2017-02-01 12:54:35 · 663 阅读 · 0 评论 -
C++程序设计风格和文档
参考资料:C++程序设计补充资料I.E原创 2017-01-25 18:43:11 · 1695 阅读 · 1 评论 -
一段有趣的C++代码,五次选择猜出你的生日
程序代码:GuessBirthDate.cpp/** * 运行程序,做5次选择,就能知道你的生日是哪一天。 */#include using namespace std; int main(){ int date = 0; // Date to be determind char answer; // Prompt the user for Set 1原创 2017-02-01 22:25:38 · 33510 阅读 · 13 评论 -
C++常用流格式控制符的用法
流格式控制符定义在头文件中。常用的流格式控制符(std::cout控制符描述setw(width)指定打印字段的宽度setprecision(n)设置一个浮点数的精度fixed将一个浮点数以定点数的形式输出showpoint将一原创 2017-02-02 15:03:34 · 6694 阅读 · 1 评论 -
第3章 分支语句
else子句总是与同一语句块中最近的未匹配的if子句相匹配。(加大括号可以显式匹配。if-else是同一语句块。)C++内部用1表示true,0表示false。 将一个检验条件赋予一个布尔变量时:if (number % 2 == 0) even = true;else even = false;等价于下面的代码,但是下面的编码更好:bool even = number % 2 == 0原创 2017-02-02 12:56:26 · 690 阅读 · 0 评论 -
C/C++结构体大小的计算方法(Windows 32为处理器)
定义结构体中的偏移量结构体中的偏移量是一个成员的实际地址和结构体首地址之间的距离。结构体大小计算结构体大小 会涉及到字节对齐(目的是 让计算机快速读写 以空间换取时间)。即,最后一个成员的偏移量加上最后一个成员的大小再加上末尾的填充字节数。结构体内偏移规则1、每个成员的偏移量都必须是当前成员所占内存大小的整数倍如果不是编译器会在成员之间加上填充字节。 2、当所有成员大小计算完毕后,编译器判断...原创 2018-03-23 15:50:19 · 934 阅读 · 0 评论 -
内存对齐时为什么结构体的最终大小需要是其最大成员大小的整数倍
本文转自:https://blog.csdn.net/zyz770834013/article/details/71909055内存对齐时,结构体分配内存大小会满足两个条件:1. 假设第一个成员的起始地址为0,每个成员的起始地址(startpos)必须是其数据类型所占空间大小的整数倍。2. 结构体的最终大小必须是其成员(基础数据类型成员)里最大成员所占大小的整数倍。其中,第一条起始地址特殊要求的原...转载 2018-03-23 16:15:22 · 1315 阅读 · 0 评论 -
C++ 重载运算符和重载函数
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。C++ 中的函数重载在同一...原创 2018-04-12 13:46:44 · 566 阅读 · 0 评论