![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 72
歌一曲啦啦啦啦啦
关注走一波鸭
展开
-
符号扩展与零扩展
符号扩展与零扩展定义:符号扩充符号扩充(又名符号扩展)是计算机算术中,在保留数字的符号(正负性)及数值的情况下,增加二进制数字位数的操作。举个例子,若计算机使用六位二进制数表示数字“00 1010”(十进制的正10),且此数字需要将字长符号扩充至十六位,则扩充后的值为“0000 0000 0000 1010”。此时,数值与符号均保留了下来。若计算机使用十位数及二补数表示数字“11 11...原创 2020-01-31 17:04:54 · 6959 阅读 · 0 评论 -
C++那些细节--32位64位数据类型的区别
一.简介关于基本数据类型的大小,以前在编程的时候貌似没有太注意过,不过,这东西应该是最基本的知识点,而且在这个32位向64位过渡的时期,我们还是有必要了解一下32位下和64位下基本数据类型有什么不同。PS:例子均是基于Windows平台,编译器为...转载 2020-01-30 13:58:21 · 384 阅读 · 0 评论 -
C语言return的一个理解
return的一个理解之前对 return 0; 的理解很模糊,后来才慢慢知道例如在D盘下新建aaa文件夹,编写程序a.c#include<stdio.h>int main(){ printf("Hello World\n"); return 0; } b.c#include<stdlib.h>#include<stdio.h>in...原创 2020-01-28 17:02:22 · 250 阅读 · 0 评论 -
C语言四舍五入
C语言四舍五入将浮点数取整或者四舍五入的数据处理情况经常见到,下面做一下总结注意函数取整返回值均为double型,在用printf输出时应注意头文件#include#include<iostream>#include<cmath>using namespace std;int main(){ double a=2.5; cout<<...转载 2020-01-23 16:33:45 · 398 阅读 · 0 评论 -
C语言运用VS调试讲解
C语言运用VS调试讲解文章目录C语言运用VS调试讲解插入断点调试相关窗口不同调试方法修改代码运行位置即时窗口的使用查看、修改运行时的内存有条件断点的设置assert断言函数调试信息的输出一些调试参数总结插入断点调试(Debug),就是让代码一步一步慢慢执行,跟踪程序的运行过程。比如,可以让程序停在某个地方,查看当前所有变量的值,或者内存中的数据;也可以让程序一次只执行一条或者几条语句,看看程...原创 2019-11-09 21:02:58 · 1149 阅读 · 0 评论 -
C语言文件操作二
文章目录C语言文件复制功能C语言文件复制功能文件的复制是常用的功能,要求写一段代码,让用户输入要复制的文件以及新建的文件,然后对文件进行复制。能够复制的文件包括文本文件和二进制文件,你可以复制1G的电影,也可以复制1Byte的txt文档。实现文件复制的主要思路是:开辟一个缓冲区,不断从原文件中读取内容到缓冲区,每读取完一次就将缓冲区中的内容写入到新建的文件,直到把原文件的内容读取完。这里...原创 2019-11-09 15:36:21 · 296 阅读 · 0 评论 -
C语言文件操作一
C语言文件操作在C语言中,操作文件之前必须先打开文件,所谓“打开文件”,就是让程序和文件建立连接的过程。打开文件之后,程序可以得到文件的相关信息,例如大小、类型、权限、创建者、更新时间等。在后续读写文件的过程中,程序还可以记录当前读写到了哪个位置,下次可以在此基础上继续操作。使用 <stdio.h> 头文件中的 fopen() 函数即可打开文件,它的用法为:FILE *fop...原创 2019-11-09 11:46:03 · 4247 阅读 · 2 评论 -
C/C++后端-服务端开发技术博文分类汇总
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-10-25 10:55:01 · 176 阅读 · 0 评论 -
文件——知识整理
文件内容摘自:http://c.biancheng.net/cpp/biancheng/viewhttp://c.biancheng.net/view文件概念迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的。即控制台应用。在实际应用中,常以磁盘文件作为对象。即从磁盘文件读取数据,将数据输出到磁盘文件。磁盘是计算机的外部存储器,它能够长期保留信...原创 2019-09-09 23:31:04 · 655 阅读 · 0 评论 -
C++成员权限及友元介绍
C++成员访问权限及友元介绍对于C++类,可以定义三种不同访问控制权限的成员。这三种分别是public公有类型,private私有类型,protected保护类型。public 具有这个访问控制权限的成员是完全公开的,即该成员不但可以被它所在类的成员函数及该类的友元函数访问,而且可以被和该类对象处于同一作用域的任何函数访问。private 对类外完全保密,只能被它所在类中的成员函数和该类的...原创 2019-09-08 22:08:27 · 584 阅读 · 0 评论 -
C++静态成员函数
当我们需要不依赖对象就可以访问静态成员变量必须保证静态成员变量的安全性方便快捷得获取静态成员变量的值要用到静态成员函数定义格式为:static 返回类型 静态成员函数名(参数表);静态成员函数是类的一部分,而不是对象的一部分,如果要在类外调用公用的静态成员函数,格式类名::静态成员函数名(实参表);对象名.静态成员函数名(实参表);静态成员函数不能访问普通成员变量...原创 2019-09-08 17:51:04 · 144 阅读 · 1 评论 -
C++类的静态数据成员
以一个简单的例子来引入C++中类的静态成员变量!假入客户给你提了一个需求:统计在程序运行期间某个类的对象的数目保证程序的安全性(不能使用全局变量)随时可以获取当前对象的数目你或许会想到用类的成员变量来做计数值。写出的代码可能类似下面的代码:#include <stdio.h>class Test{private: int mCount;public:...原创 2019-09-08 17:26:43 · 216 阅读 · 0 评论 -
C++关键字之constexpr
constexprconstexpr是C++11中新增的关键字,其语义是“常量表达式”,也就是**在编译期可求值的表达式。**最基础的常量表达式就是字面值或全局变量/函数的地址或sizeof等关键字返回的结果,而其它常量表达式都是由基础表达式通过各种确定的运算得到的。constexpr值可用于enum、switch、数组长度等场合。constexpr所修饰的变量一定是编译期可求值的,所修饰的函...原创 2019-09-07 22:40:25 · 349 阅读 · 0 评论 -
C++默认实参
默认实参某些函数有这样一种形参,在函数的多次调用时都会被赋予相同的值,我们把这个反复出现的值可设置为该函数的默认实参。默认实参作为形参的初始值出现在形参列表,我们可以为一个或多个形参定义默认值,不过需要注意的是,一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值例typedef string::size_type sz;string screen(sz ht =24,sz wid...原创 2019-09-07 21:47:24 · 148 阅读 · 0 评论 -
C++构造函数
每个类都分别定义了它的对象初始化的过程,类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数称为构造函数构造函数名字与类名相同构造函数没有返回类型不同于其他成员函数,构造函数不能被声明为const类通过一个特殊的构造函数来控制默认初始化过程,这个函数叫做默认构造函数,一般情况下,是一个没有形参值的空函数。如果我们没有显式地定义构造函数,编译亲就会为我们隐式地生成一个默认构...原创 2019-09-07 17:38:02 · 127 阅读 · 0 评论 -
C++函数指针
函数指针指向的是函数而非对象bool lengthCompare (const string &,const string &);要想声明一个指向函数的指针,只需要用指针替换函数名即可//pf指向一个函数,该函数的参数是两个const string的引用,返回值是bool类型bool (*pf) (const string &,const string &...原创 2019-09-07 11:47:09 · 91 阅读 · 0 评论 -
C++函数重载
C++函数重载如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数。这些函数接受的形参类型不一样,但是执行的操作非常类似。当调用这些函数时,编译器会根据传递的实参类型推断想要的是哪个函数。对于重载的函数来说,他们应该在形参数量或形参类型上有所不同。注意:不允许两个函数除了返回类型外其他所有的要素都一样Record lookup(const Account&);...原创 2019-09-06 22:15:37 · 86 阅读 · 0 评论 -
C++函数基础(三)
C++表达式要么是左值,要不然就是右值,左值可以位于赋值语句的左侧,右值则不能。当一个对象被用做右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)引用返回左值函数的返回类型决定函数调用是否是左值,调用一个返回引用的函数得到左值,其他返回类型得到右值。特别是,我们能为返回类型是非常量引用的函数的结果赋值:char &get_val(stri...原创 2019-08-24 22:46:29 · 172 阅读 · 0 评论 -
C++初始化总览
C++的初始化有很多方式:默认初始化,值初始化,直接初始化,拷贝初始化,列表初始化。这些方式之间有什么区别与联系呢?我们一一来看。默认初始化默认初始化是指定义变量时没有指定初值时进行的初始化操作。例如int a; Sales_data myData;等等。这些变量被定义了而不是仅仅被声明(因为没有extern关键字修饰),而且没有显式的赋予初值。特别的,如果采用动态分配内存的方式(即采用new...原创 2019-08-25 13:18:51 · 156 阅读 · 1 评论 -
C++直接初始化与拷贝初始化
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-25 13:22:53 · 373 阅读 · 0 评论 -
C++函数基础 (二)
数组形参数组的两个特殊性质对我们定义和使用作用在数组上的函数有影响。这两个性质是:不允许拷贝数组 以及使用数组时通常会将其转换成指针。所以当我们传递一个数组时,实际上传递的是指向数组首元素的指针。尽管不能以值传递的形式传递数组,但是我们可以把形参写成类似数组的形式。void print(const int*);void print(const int[]);void print(cons...原创 2019-08-23 21:50:00 · 402 阅读 · 0 评论 -
C++分离式编译
C++分离式编译 c++开发中广泛使用声明和实现分开的开发形式,其编译过程是分离式编译,就是说各个cpp文件完全分开编译,然后生成各自的obj目标文件,最后通过连接器link生成一个可执行的exe文件。例子://---------------test.h-----------------...原创 2019-08-16 10:22:52 · 406 阅读 · 0 评论 -
C++ const详解(一)
C++ const详解C和C++都有const这个关键字,虽然有相似,但是也有所不同。const 在C++ 与C 的不同:C中被const所修饰的叫做常变量,它具有变量属性,同时又具有常性,C编译器不能把const看成看成一个编译期间的常量,因为他在内存中有分配,在C中,const int a;是可以的,因为这只是声明一个变量,告诉编译器,我这里是声明,指明在别的地方有内存分配。但在C+...原创 2019-08-17 23:16:43 · 170 阅读 · 0 评论 -
C++引用与指针基础
引用基础本节探讨的引用为左值引用引用为对象起了个别名,引用类型引用另外一种类型,通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。其中引用必须初始化,因为定义引用时,程序把引用和它的初始值绑定到一起,而不是将初始值拷贝给引用,一旦初始化完成,引用将和它的初始值对象一直绑定到一起int ival=1024;int &refVal=ival;//refVal指向...原创 2019-08-18 10:06:17 · 90 阅读 · 0 评论 -
C++可变形参
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-23 11:32:19 · 265 阅读 · 1 评论 -
使用Dev多文件编程
...转载 2019-08-26 22:25:51 · 3823 阅读 · 2 评论 -
C++编程调试
调试帮助C++程序员有时会用到一种类似于头文件保护的技术,以便有选择地执行调试代码。基本思想是,程序可以包含一些用于调试的代码,但是这些代码只在开发程序时使用。当应用程序编写完成准备发布时,要先屏蔽掉调试代码。这种方式用到两项预处理功能:assert和NDEBUG。assert预处理宏assert 是一种预处理宏(preprocessor marco)。所谓预处理宏其实是一个预处理变量。as...原创 2019-08-29 11:54:47 · 145 阅读 · 0 评论 -
C++ const常量成员函数
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-31 18:17:20 · 141 阅读 · 0 评论 -
C++之各种const
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-31 18:40:22 · 121 阅读 · 0 评论 -
C++类型转换
C++类型转换隐式转换有时类型转换是自动执行的,不需要程序员的介入,这种被称为隐式转换,何时发生隐式类型转换在大多数表达式中,比Int类型小的整型值首先提升为较大的整数类型在条件中,非布尔值转换成布尔类型在初始化中,初始值转换成变量的类型,在赋值语句中,右侧运算对象转换成左侧运算对象的类型如果算术运算或关系运算的运算对象有多种类型,需要转换承诺同一种类型函数调用时有时也会发生类型...原创 2019-09-05 14:44:16 · 83 阅读 · 0 评论 -
C++关键字之explicit与转换构造函数
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit关键字的类声明, 即...转载 2019-09-06 17:57:04 · 157 阅读 · 0 评论 -
C++函数基础 (一)
C++函数基础函数的调用完成两项工作:一是用实参初始化函数对应的形参,二是将控制权转移给被调用函数,此时主调函数的执行被暂时中断,被调函数开始执行。当遇到return语句时结束函数执行过程,一是返回return的值(有的话),二是将控制权从被调函数转移向主调函数。实参是形参的初始值,实参的类型必须与对应的形参类型相匹配(或能转化),函数有几个形参,必须提供相同数量的实参,所以形参一定会被初始化...原创 2019-08-20 23:46:59 · 148 阅读 · 0 评论