什么是C++

作者&投稿:汤秀 (若有异议请与网页底部的电邮联系)
c++里&是什么意思?~

1、引用:
引用(reference)就是C++对C语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。
2、按位与:
&可以表示逻辑运算按位与,按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。例如:3&10可写算式如下: 00000011&00001010 00000010 十进制2。
3、取地址:
&表示取地址运算符,属于单目运算符。

扩展资料:
C++引用说明:
1、&在此不是求地址运算,而是起标识作用。
2、类型标识符是指目标变量的类型。
3、声明引用时,必须同时对其进行初始化。
4、引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
5、对引用求地址,就是对目标变量求地址。&ra与&a相等。即我们常说引用名是目标变量名的一个别名。别名一词好像是说引用不占据任何内存空间。但是编译器在一般将其实现为const指针,即指向位置不可变的指针。即引用实际上与一般指针同样占用内存。
6、不能建立引用的数组。因为数组是一个由若干个元素所组成的集合,所以无法建立一个由引用组成的集合。但是可以建立数组的引用
参考资料来源:百度百科-c++运算符
参考资料来源:百度百科-C++引用
参考资料来源:百度百科-按位与

c++中 . 和 -> 主要是用法上的不同。
1、A.B则A为对象或者结构体;
2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
例如:
class student
{
public:
string name[20];
}
第一种情况,采用指针访问 student *xy,则访问时需要写成 *xy.name="hhhhh";等价于xy->name="hhhhh"。
第二种情况,采用普通成员访问 student xy,则访问时需要写成 xy.name="hhhhh"。

扩展资料
算术运算符与算术表达式
C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。
基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。

C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
在C基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的编译器最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2012。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。
C++由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“C with Classes”带类的C)。开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间[1](name space)逐渐被加入标准。[2]
1998年国际标准组织(international standard organization, ISO)颁布了C++程序设计语言的国[3]际标准ISO/IEC 1988-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISOC++。[4]

1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准。C++0x最终国际投票已于2011年8月10日结束,并且所有国家都投出了赞成票,C++0x已经毫无疑义地成为正式国际标准。先前被临时命名为C++0x的新标准将被称为C++ 2011。C++ 2011将取代现行的C++标准ISO/IEC 14882,它公开于1998年并于2003年更新,通称C++98以及C++03。国际标准化组织于2011年9月1日出版发布ISO/IEC 14882:2011,名称是:Information technology -- Programming languages -- C++ Edition: 3。
计算机诞生初期, 人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言诞生于1954年, 它是FORTRAN语言。 先后出现了多种计算机高级语言。 其中使用最广泛、影响最大的当推BASIC语言和C语言。
BASIC语言是1964年在FORTRAN语言的基础上简化而成的, 它是为初学者设计的小型高级语言。
C语言是1972年由美国贝尔实验室的D.M.Ritchie研制成功的。 它不是为初学者设计的,而是为计算机专业人员设计的。 大多数系统软件和许多应用软件都是用C语言编写的。
但是随着软件规模的增大, 用C语言编写程序渐渐显得有些吃力了。
C++是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于20世纪80年代初在C语言的基础上开发成功的。 C++保留了C语言原有的所有优点, 增加了面向对象的机制。
C++是由C发展而来的, 与C兼容。 用C语言写的程序基本上可以不加修改地用于C++。 从C++的名字可以看出它是C的超越和集中。 C++既可用于面向过程的结构化程序设计, 又可用于面向对象的程序设计, 是一种功能强大的混合型的程序设计语言。
C++对C的“增强”,表现在六个方面:
(1) 类型检查更为严格。
(2) 增加了面向对象的机制。
(3)增加了泛型编程的机制(template)
(4)增加了异常处理
(5)增加了运算符重载
(6)增加了标准模板库(STL)
面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来, 面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。
学习C++, 既要会利用C++进行面向过程的结构化程序设计, 也要会利用C++进行面向对象的程序设计,更要会利用模板进行泛型编程。
C和C++关系
但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。
C timeline
1978 k&R C---->1988 ANSI C-->1995 ISO C
学习C语言最经典的还是The C Programming Language
发展历史
C++语言发展大概可以分为三个阶段:
第一阶段
从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;
第二阶段
从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;
第三阶段
从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。[7]
优点

C++代码
· C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。
· C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。
· C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。
· C++设计成尽可能与C兼容,借此提供一个从C到C++的平滑过渡。
· C++避免平台限定或没有普遍用途的特性。
· C++不使用会带来额外开销的特性。
· C++设计成无需复杂的程序设计环境。[8]
出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里。关于此类话题,Bjarne Stroustrup的《C++语言的设计和演化》(1994)里做了详尽的陈述。
C++在一定程度上可以和C语言很好的结合,甚至目前大多数C语言程序是在C++的集成开发环境中完成的。C++相对众多的面向对象的语言,具有相当高的性能。
C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括MFC、QT、wxWidgets就是使用的C++。[9]
代码性能
人们一般认为,使用Java或C#的开发成本比C++低。但是,如果充分分析C++和这些语言的差别,会发现这句话的成立是有条件的。这个条件就是:软件规模和复杂度都比较小。如果不超过3万行有效代码(不包括生成器产生的代码),这句话基本上还能成立。否则,随着代码量和复杂度的增加,C++的优势将会越来越明显。造成这种差别的就是C++的软件工程性。[9]
缺点
C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。[9]
由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。
c++语言由于过度的复杂性,以及与unix的文化相抵触,在unix/linux领域受到很多著名人士(比如Linux之父linus torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。
C++基本数据类型和表达式
数据是程序处理的对象,数据可以依其本身的特点进行分类。我们知道在数学中有整数、实数概念,在日常生活中需要用字符串来表示人的姓名和地址,有些问题的回答只能是“是”或“否”(即逻辑“真”或“假”)。不同类型的数据有不同的处理方法,例如:整数和实数可以参加算术运算,但实数的表示又不同于整数,要保留一定的小数位;字符串可以拼接;逻辑数据可以参加“与”、“或”、“非”等逻辑运算。
我们编写计算机程序,目的就是为了解决客观世界中的现实问题。所以,高级语言中也为我们提供了丰富的数据类型和运算。C++中的数据类型分为基本类型和自定义类型。基本类型是C++编译系统内置的。
基本数据类型
C++的基本数据类型如下表所示(表中各类型的长度和取值范围,以面向IA-32处理器的VC++ 2008和gcc 4.2为标准)。
类型名 长度(字节) 取值范围
bool 1 false,true

char
1 -128~127

signed char 1 -128~127
unsigned char 1 0~255
short(signed short) 2 -32768~32767
unsigned short 2 0~65535
int(signed int) 4 -2147483648~2147483647
unsigned int 4 0~4294967295
long(signed long) 4 -2147483648~2147483647
unsigned long 4 0~4294967295
float 4 3.4X10^(-38)~3.4X10^(38)
double 8 1.7X10^(-308)~1.7X10^(308)
long double 8 1.7X10^(-308)~1.7X10^(308)
编辑本段编程技巧
new和delete
运算符new和delete提供了存储的动态内存分配和释放功能,它的作用相当于C语言的函数malloc()和free(),但是性能更为优越。使用new较之使用malloc()有以下的几个优点:
(1)new自动计算要分配类型的大小,不使用sizeof运算符,比较省事,可以避免错误。
(2)自动地返回正确的指针类型,不用进行强制指针类型转换。
(3)可以用new对分配的对象进行初始化。[11]
inline
对于频繁使用的函数,C语言建议使用宏调用代替函数调用以加快代码执行,减少调用开销。但是宏调用有许多的弊端,可能引起不期望的副作用。例如宏:#define abs(a)(a)<0?(-a):(a)),当使用abs(i++)时,这个宏就会出错。
所以在C++中应该使用inline内联函数替代宏调用,这样既可达到宏调用的目的,又避免了宏调用的弊端。
使用内联函数只须把inline关键字放在函数返回类型的前面。[11]
函数重载
在C语言中,两个函数的名称不能相同,否则会导致编译错误。而在C++中,函数名相同而参数数据类型不同或参数个数不同或二者皆不同的两个函数被解释为重载。
使用函数重载可以帮助程序员处理更多的复杂问题,避免了使用诸如intabs()、fabs()、dabs()等繁杂的函数名称;同时在大型程序中,使函数名易于管理和使用,而不必绞尽脑汁地去处理函数名。同时必须注意,参数数据类型相同,但是函数返回类型不同的两个函数不能重载。[11]
参数传递
在C语言中,如果一个函数需要修改用作参数的变量值的时候 ,参数应该声明为指针类型;当参数的大小超过一个机器字长时,通过传值方式来传递参数的效率较低,也需要用指针。由于C语言的指针可以进行p++,--p,p+=1等算术运算,所以编译器无法在编译的时候确定指针引用的变量。对于复杂的程序,使用指针容易出错,程序也难以读懂。在C++中,对于上述情况 可以使用引用来代替指针,使程序更加清晰易懂。引用就是对变量取的一个别名,对引用进行操作,这就相当于对原有变量进行操作。[11]
缺省参数
在C++中函数可以使用缺省参数。
通常的情况下,一个函数应该具有尽可能大的灵活性。使用缺省参数为程序员处理更大的复杂性和灵活性问题提供了有效的方法,所以在C++的代码中都大量地使用了缺省参数。
需要说明的是,所有的缺省参数必须出现在不缺省参数的右边。亦即,一旦开始定义缺省参数,就不可再说明非缺省的参数。否则当你省略其中一个参数的时候,编译器无法知道你是自定义了这个参数还是利用了缺省参数而定义了非缺省的参数。[11]
使用STL
STL(Standard Template Library,标准模板库), STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),并包括一些工具类如auto_ptr。几乎所有的代码都采用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。
作用符被重载,使得我们可以像访问数组一样访问vector中的元素。[11]
使用模板
.模板的概念。
模板是C++的一个特性,是函数和类可以作用于不同的类型上而不需要针对每一个具体类型重复相同的代码。与模板相反,我们已经学过的重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。如果使用模板就可以只写一个通用的MAX模板,而不需要针对每个类型重复相同的逻辑。
指针与引用的区别
指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“&”),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?
首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。[12]

c++是一种面向对象的计算机程序设计语言。由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现,最初它被称作“C with Classes”(包含类的C语言)。它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言,支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格.c++是c语言的继承,进一步扩充和完善了c语言。相关简介:
在C基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的编译器最新版本是Borland C++ 4.5,Symantec C++ 6.1,和Microsoft Visual C++ 2012。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

一种编程的语言,是语言基础上开发出来的高级语言。
就是编软件用的就像我们学的笔画吧,只有学会了才能写字,这个也是这样的。(当然也是对程序进行一点了解,同样有高深的问题)

一种编程的语言,是语言基础上开发出来的高级语言。
就是编软件用的

一种基础编程语言,打好基础,对于java语言的学习以及 网页设计的制作很重要


电池c是什么意思?
C指的是电池放电的倍率。1C表示电池一小时完全放电时电流强度。例如标称为5000毫安时的锂离子电池在1C强度下放电1小时放电完成,此时该放电电流为5000毫安。充放电倍率=充放电电流\/额定容量;例如:额定容量为100A·h的电池用20A放电时,其放电倍率为0.2C。电池放电C率,1C,2C,0.2C是电池放电速率...

c在爱情的含义是什么
c在爱情的含义是什么,用各种各样的符号来代替我们想要表达的真实意思是我们对一份感情的含蓄表示,世间万物存在的意义就是我们赋予的内涵,下面分享c在爱情的含义是什么。 c在爱情的含义是什么1 C指的是现在流行的C型爱情观。 C型爱情观 “C型爱情观”指的是对现代爱情关一种新的定义。在爱情中,有进有退、...

别人说c吗 是什么意思
“别人说c吗”是一种网络用语,通常用于表达对某种观点或言论的赞同。这个用语源于英文单词“see”(看到),因此也有人写成“别人见c吗”。它的使用场景通常是在社交媒体或论坛上,当有人发表了一些看法或言论,其他人如果同意这个观点,就可以回复“别人说c吗”来表达赞同。这个用语通常会被跟帖或点赞...

- - C语言是什么
在1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennis M.Ritchie发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。 1978年由美国电话电报公司(AT&T...

基金后面的c是什么意思啊
在基金投资领域中,常常会看到一些基金产品名称后面带着一个C,那么这个C到底代表着些什么意思呢?其实,这个C是指“收益再投资”。具体而言,基金产品在发放分红时,会提供两种选择,即分红派发和收益再投资。而后者就是指将分红直接用于再次购买基金份额,从而增加投资成本、增加持有份额、享受长期复利效应...

a是b是c是什么游戏规则
abcd游戏规则很简单:在出题人给出了你a是什么、b是什么、c是什么,然后让你猜d是什么?其实这个abc可以代表任何一个东西,关键的问题是你在回答d是什么东西的时候,一定要在前面加上“d是”这两个字,只要加上了d是这两个字你的答案可以是任何东西,是不是超级简单。

什么是维生素C?维生素C有什么作用?
维生素C有什么作用,真的可以治疗癌症吗?看完就知道了

什么是国家“C标”
©代表的是版权,也就是版权声明,这类标志可能更多会在出版物上出现,比如书籍、专辑等,代表出版物有授权,不是盗版的。版权的取得有两种方式:自动取得和登记取得。在中国,按照著作权法规定,作品完成就自动有版权。但是如果不登记,发生版权之争的时候,难以证明其归属权。另外,将商标进行版权...

C调和F调是什么意思?一共有多少个调?分别是什么意思?
C是音名,F也是音名。C调就是把C当成DO这个音来唱的调,F就是把F当成DO这个调来唱。所以唱歌的时候有人说唱C调、唱F调。就是用 C调的音阶和F调的音阶,比如 C调里 旋律是1155,那就是CCGG这四个音。那F调的旋律 是1155 那就是FFCC这四个一。注意 这个C是高八度的C。自然大调七声音阶 ...

有什么字母是c开头的英语单词吗?
C开头的4个英文字母英语单词有:cash、cast、cave、cell、chef等。1、cash 英 [kæʃ] 美 [kæʃ]n. 现款,现金 vt. 将…兑现;支付现款 短语 cash journal 现金日记账 ; 现金日记簿 ; [会计] 现金日记帐 ; 现金薄 cash cost 现金成本 ; 直接费用 ; 现付成本 ; ...

坡头区18547035413: C++(计算机程序设计语言) - 搜狗百科
偶鹏利肝: C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言.C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言.它支持过程序程序...

坡头区18547035413: c++语言是什么? -
偶鹏利肝: C++是用来把人的想法描述给计算机的一种语言.我自己理解. 还有你问第一,全世界有几百种编程语言,不同的语言有不同的应用场合,不同的应用场合有不同的评价标准,这个不好说谁第一谁第二,单单就应用领域来说的话,C++是一门通...

坡头区18547035413: C++ 是什么? -
偶鹏利肝: C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言.C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了.至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序...

坡头区18547035413: C++是什么?
偶鹏利肝: 一种程序设计语言

坡头区18547035413: c++是什么中文意思
偶鹏利肝: C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言.C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言.它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格.

坡头区18547035413: 什么是C++?点解析?
偶鹏利肝: C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言.C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言.它支持过程序程序...

坡头区18547035413: C++是什么 ? -
偶鹏利肝: C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”. 它是一种使用非常广泛的计算机编程语言.C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言.它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格. 摘自百度 望采纳

坡头区18547035413: C++到底是什么玩意儿啊
偶鹏利肝: C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言.C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言.它支持过程序程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格.

坡头区18547035413: 什么是C++?
偶鹏利肝: 一种编程语言!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网