C++简介LeisureFan

1、cin和cout分别istream类和ostream类的对象,用来实现基本的键盘输入和屏幕输出。

2、在C++类库提供的头文件中已经对“>>”和“<<进行了重载,使之分别作为流提取运算符和流插入运算符,在C++中,可以使用流提取运算符“>>”从标准输入设备键盘取得数据,使用流插入运算符“<<”从输出数据。

3、用户自定义的类型的数据,不能直接用“>>”和“<<”进行输入/输出,必须对“>>”和“<<"进行运算符重载(std)后才可以使用。

格式示例:

cin>>变量1>>变量2>>...变量n;cout<<表达式1<<表达式2<<...<<表达式n;

1、iostream是C++的标准输入输出流。当在程序中使用cin或cout时,必须在程序的最前面包含这个流。

2、每条#include指令仅可以包含一个头文件,如果需要包含多个头文件,则需要使用多条#include指令。

3、常用的头文件

标准输入输出流:标准文件流:标准字符串处理函数:标准数学函数:4、#include和#include"iostream"。使用尖括号括住系统提供的头文件,使用双引号括住用户当前目录下或指针的目录查找要包含(程序员自己定义)的头文件。

5、C++提供了using语句,可以简化命名空间的写法。using语句有两种形式:

using指令也可以用来指定命名空间中的特定项目。例如,如果您只打算使用std命名空间中的cout部分,可以使用usingstd::cout;方式。随后的代码中,在使用cout时就可以不用加上命名空间名称作为前缀,但是std命名空间中的其他项目仍然需要加上命名空间名称作为前缀,如下所示:

#includeusingstd::cout;intmain(){cout<<"std::endlisusedwithstd!"<

为了调用带有命名空间的函数或变量,需要在前面加上命名空间的名称(如:name::code;//code可以是变量或函数)

#includeusingnamespacestd;//第一个命名空间namespacefirst_space{voidfunc(){cout<<"Insidefirst_space"<

static_cast(expression)该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:

注意static_cast不能转换掉expression的const、volitale、或者__unaligned属性。

constdoublepi(3.14159);或constdoublepi=3.14159;const_cast该运算符用来修改类型的const或volatile属性。除了const或volatile修饰之外,type_id和expression的类型是一样的。常量指针被转化成非常量指针,并且仍然指向原来的对象;常量引用被转换成非常量引用,并且仍然指向原来的对象;常量对象被转换成非常量对象。

const_cast(expression)

dynamic_cast(动态转换),允许在运行时刻进行类型转换,从而使程序能够在一个类层次结构安全地转换类型。dynamic_cast提供了两种转换方式,把基类指针转换成派生类指针,或者把指向基类的左值转换成派生类的引用。

enum(枚举)类型,给出一系列固定的值,只能在这里面进行选择一个。

typedef(类型定义,typedefine),其格式为:

typedef类型定义名;类型说明定义了一个数据类型的新名字而不是定义一种新的数据类型。定义名表示这个类型的新名字。

typename(类型名字)关键字告诉编译器把一个特殊的名字解释成一个类型。在下列情况下必须对一个name使用typename关键字:

wchar_t是宽字符类型,每个wchar_t类型占2个字节,16位宽。汉字的表示就要用到wchar_t。

1、当不同类型的量进行混合算术运算时,系统自动进行合理的类型转换,也可以在程序中使用强制类型转换运算符。

系统自动转换原则:低字节向高字节转换

inta;doubleb;a+b-->结果为double类型;int类型4个字节,double8个字节,低字节向高字节转换。

2、static_cast用于将一种数据类型转换成另一种数据类型,一般情况下,static_cast可以缺省。

static_cast<类型名>表达式

#includeusingnamespacestd;intmain(){doublea=34.23;cout<<(int)a<(a)<

3、const_cast用于去除指正和引用的常量性,但不能去除变量的常量性

const_cast<类型名>(表达式)

功能是将常量指针转化成非常量的指针,并且仍然指向原来的对象;

或是将常量引用转换成非常量的引用,并且仍然指向原来的对象。

代码示例:

1、引用的定义

*引用相当于给变量起一个别名。变量对应于某个内存地址,如果给某个变量起了别名,相当于变量和引用都对应到同一个地址。

“引用”的定义格式:

类型名&引用名=同类型的某变量名;

*系统并不为引用变量分配空间,引用变量与原变量对应的是同一个内存地址,也就是“你变,我就变,我变,你也变”

intmain(){intoneInt=1;int&ref=oneInt;constint&refc=oneInt;ref=2;cout<<"oneInt="<

2、引用在函数中的使用

引用既可以作为函数的参数使用,也可以作为函数的返回值使用。C++中,函数调用时参数的传递有两种方式:传值和传引用

如果函数的形参不是引用,那么调用时实参传递给形参通常采用的时传值的方式,即将实参的值拷贝给形参,

函数内部对形参的改变不会影响到函数外实参的值。

如果函数的形参是引用,则调用时实参传递给形参采用的是传引用的方式。函数调用时,实参对象名传递给形参对象名,形参对象名就成为实参对象名的别名,

即形参是对应实参的引用,他们是等价,代表同一个对象,也可以看作是将实参的地址传递给了形参。

在函数内部对形参的操作,都是对这个地址的内容进行的,相当于对实参的值进行了操作。所以当函数执行完毕返回后,实参的变化被保留下来。

int&fun(int&c){...}

函数的返回值是一个引用,所以可以作为赋值语句中的左值使用。

1、const修饰指针变量时,基本含义:

1)如果唯一的const位于符号*的左侧(constint*p=&a;),表示指针所指数据是常量,数据不能通过本指针改变,但可以通过其他方式进行修改;指针本身是变量,可以指向其他的内存单元。

2)如果唯一const位于符号*右侧(int*constp=&a;),表示指针本身是常量,不能让该指针指向其他内存地址;指针所指的数据可以通过本指针进行修改。

3)在符号*的左右各有一个const时,表示指针和指针所指数据都是常量,既不能让指针指向其他地址,也不能通过指针修改所指向的内容。

constint*p=&a;//指向常量的指针

int*constp=&a;//常量指针

constint*constp=&a;//指向常量的常量指针

①参数个数不同;②参数类型不同;③不可以通过函数的返回值类型区分调用-->

intsame(int,double);doublesame(int,double;)无法通过返回值类型来区分是调用的哪一个,所以这两个不是重载。

1、指针变量中保存的是一个地址,也成指针指向一个地址。

2、关于空间分配:

3、使用new运算符动态申请的内存空间,需要在使用完毕后释放。C++提供了delete运算符,用来释放动态分配的内存空间。

delete运算符的基本用法:

delete指针;delete[]指针;

十一、用string对象处理字符串

1、C++标准模板库中提供了string数据类型,专门用于处理字符串。string是一个类,这个类型的变量称为“string对象”。

2、要在程序中使用string对象,必须在程序中包含头文件string,即在程序的最前面,要加上如下语句:#include

THE END
1.MicrosoftC/C++文档MicrosoftLearn了解如何使用 C++ 针对平台和设备开发应用程序、服务和工具。https://docs.microsoft.com/zh-cn/cpp/
2.C++初阶——入门/概念一,关键字(C++98) 二,命名空间 命名空间定义 命名空间使用 三,C++输入/输出 四,缺省参数 五,函数重载 六,引用 七,内联函数 八,auto关键字(C++11) 九,基于范围的for循环(C++11) 十,指针空值nullptr(C++11) 一,关键字(C++98) C语言32个关键字; https://blog.csdn.net/NapoleonCoder/article/details/120795407
3.C++SyntaxLine 1:#include <iostream>is aheader file librarythat lets us work with input and output objects, such ascout(used in line 5). Header files add functionality to C++ programs. Line 2:using namespace stdmeans that we can use names for objects and variables from the standard library. https://www.w3schools.com/cpp/cpp_syntax.asp
4.C++ProgrammingLanguageC++ is a programming language that is the foundation of many modern technologies like game engines, web browsers, operating systems financial systems, etc. Bjarne Stroustrup developed it as an extension of the C language. C++ is generally used to create high-performance applications and provides https://www.geeksforgeeks.org/c-plus-plus/
5.C++参考手册功能特性测试宏 (C++20) 语言功能特性 ? 标准库功能特性 语言支持库 程序工具 信号 ? 非局部跳转 基本内存管理 变参数函数 source_location (C++20) 协程支持 (C++20) 比较工具 (C++20) 类型支持 ? type_info numeric_limits ? exception initializer_list (C++11)概念库 (C++20) 诊断https://zh.cppreference.com/w/cpp
6.thec++resourcesnetworkC++ Language: Learn this versatile and powerful programming language. Includes detailed explanations ofpointers,functions,classesandtemplates, among others Reference Description of the most important classes, functions and objects of the Standard Language Library, with descriptive fully-functional short prhttps://www.cplusplus.com/
7.C++面向对象程序设计教程(第4版)习题解答与上机指导中国科学院大学 雁栖三层南区流通阅览书库 在架上 TP312C++/146=41浏览量 问图书管理员 馆际互借 点赞 收藏 访问借阅管理系统 分享 相关推荐C++面向对象程序设计教程(第3版)习题解答与上机指导 作者:陈维兴 ISBN:9787302200109 出版社:清华大学出版社 出版年:2009 C++面向对象程序设计习题解答与上机指导https://www.las.ac.cn/front/book/detail?id=3a19be9fb3eebb5792603c1109506094
8.厦门人才网5、C++工程师11-27 6、系统工程师(底层协议)11-27 7、系统工程师(应用开发)11-27 8、硬件工程师11-27 营销中心 9、省区销售经理11-27 10、区域销售经理11-27 11、销售工程师11-27 12、售后工程师11-27 13、销售/营销/业务员11-27 14、技术支持工程师11-27 https://www.xmrc.com.cn/net/info/showco.aspx?ID=2911053
9.游戏常用运行库安装包游戏工具游侠补丁Visual c++ 运行库 错误提示: 各种未知错误如“配置不正确”或其他错误;没有找到 Msvcp100.DLL visual c++ 2005运行库 下载 大小:5.58MB visual c++ 2008运行库 下载 大小:8.56MB visual c++ 2010运行库 下载 大小:10.15MB Visual C++ 2005 JP 日版游戏运行库 https://www.ali213.net/zhuanti/yxk/