C++ 基础
文章平均质量分 59
ALL IN C
没有什么问题是解决不了的
展开
-
十、C++ 系统String类
十、C++ 系统String类除了使用字符数组来处理字符串以外,c++引入了字符串类型。可以定义字符串变量。1.定义及初始化#include <iostream>#include <string.h>using namespace std;int main(){ string str; str = "china"; string str2 = " is great "; string str3 = str2; cout<<str<<s原创 2021-10-29 11:05:30 · 208 阅读 · 1 评论 -
九、C++ 命名空间(namespace scope)
九、C++ 命名空间命名空间为了大型项目开发,而引入的一种避免命名冲突的一种机制。比如说,在一个大型项目中,要用到多家软件开发商提供的类库。在事先没有约定的情况下,两套类库可能在存在同名的函数或是全局变量而产生冲突。项目越大,用到的类库越多,开发人员越多,这种冲突就会越明显。1.默认NameSpace(Global&Function)Global scope 是一个程序中最大的 scope。也是引起命名冲突的根源。C 语言没有从语言层面提供这种机制来解决。也算是 C 语言的硬伤了。Global原创 2021-10-28 20:55:07 · 203 阅读 · 0 评论 -
八、C++ 类型强转
八、C++ 类型强转1.静态类型转换1.语法格式static_cast<目标类型> (标识符)2.转化规则在一个方向上可以作隐式转换,在另外一个方向上就可以作静态转换。int a = 10;int b = 3;cout<<static_cast<float>(a)/b<<endl; //float = int int = floatreturn 0;int *p; void *q;p = static_cast<int*>原创 2021-10-28 20:20:45 · 117 阅读 · 0 评论 -
七、C++ 内联函数
七、C++ 内联函数1.内联C 语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语意差错。2.语法C++提供了 inline 关键字,实现了真正的内嵌。宏函数 VS inline函数...原创 2021-10-28 19:44:21 · 63 阅读 · 0 评论 -
六、C++ new/delete Operator
六、C++ new/delete Operatorc 语言中提供了 malloc 和 free 两个系统函数,完成对堆内存的申请和释放。而 c++则提供了两关键字 new 和 delete。1.new/new[] 用法1.开辟单变量地址空间int *p = new int; //开辟大小为 sizeof(int)空间int *a = new int(5); //开辟大小为 sizeof(int)空间,并初始化为 52.开辟数组空间一维: int *a = new int[100]{0};开辟原创 2021-10-27 20:38:57 · 74 阅读 · 0 评论 -
五、C++ 引用
五、C++ 引用变量名,本身是一段内存的引用,即别名(alias)。此处引入的引用,是为己有变量起一个别名。声明如下int main(){ int a; int &b = a;}1.规则引用没有定义,是一种关系型声明。声明它和原有某一变量的关系。类型与原有类型保持一致,且不分配内存。与被引用的变量有相同的地址。声明的时候必须初始化,一经声明,不可变更。可对引用,再次引用。多次引用的结果,是某一个变量具有多个别名。&符号前面有数据类型时,是引用。其他均为取地址。原创 2021-10-27 17:09:30 · 92 阅读 · 0 评论 -
四、C++ 默认参数
四、C++ 默认参数通常情况下,函数在调用时,形参从实参那里取得值。对于多次调用同一函数同一实参时,C++给出了更简单的处理办法。给形参以默认值,这样就不用从实参那里取值了。1.举例1.单个参数#include <iostream>#include <ctime>using namespace std;void weatherForcast(char * w="sunny"){ time_t t = time(0); char tmp[64]; strftime原创 2021-10-27 12:49:16 · 122 阅读 · 0 评论 -
一、C++ 标准输入与输出
一、C++ 输入与输出 格式化输出1.cin与cout2.格式化输出2.1设置域宽及位数对于实型,cout 默认输出六位有效数据,setprecision(2) 可以设置有效位数,setprecision(n)<<setiosflags(ios::fixed)合用,可以设置小数点右边的位数。#include <iostream>#include <iomanip>using namespace std;int main(){ printf("%c\n原创 2021-10-27 11:13:31 · 2986 阅读 · 0 评论 -
二、C++ 函数重载
二、C++ 函数重载C++ 致力于简化编程,能过函数重名来达到简化编程的目的1.重载规则函数名相同参数的个数不同,类型不同,顺序不同,都可以构成重载返回值类型必须相同,不同则不可以构成重载例如:void func(int a); //okvoid func(char a); //okvoid func(char a,int b); //okvoid func(int a, char b); //okchar func(int a); //与第一个函数有冲突2.匹配原则严格匹原创 2021-10-27 11:46:58 · 132 阅读 · 0 评论 -
三、C++ 操作符重载
三、C++ 操作符重载<<本身在 c 语言中是位操作中的左移运算符。现在又用作流插入运算符,这种一个字符多种用处的现象叫作重载。在 c 语中本身就用重载的现象,比如 & 既表示取地址,又表示位操作中的与。*既表示解引用,又表示乘法运算符。只不过 c 语言并没有开放重载机制。C++提供了运算符重载机制。可以为自定义数据类型重载运算符。实现自定义的数据类型也可以像基本数据类型一样的运算特性。#include <iostream>#include <iomanip&g原创 2021-10-27 11:59:39 · 192 阅读 · 0 评论