欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第一篇 C/C++基本语言类型

程序员文章站 2022-07-28 17:50:38
总概: { C:面向过程,以过程为中心,以算法为驱动 } { C++:面向对象,以过对象中心,以消息为驱动 个人理解:一切皆对象的思想 } 一 前言总概 1、常量变量 初始化对象与赋值是两个概念 直接初始化:int a(12);高效 复制初始化:int a = 12; 内置类型差别不大,类类型大 2 ......

总概:

{

c:面向过程,以过程为中心,以算法为驱动

}

 

{

c++:面向对象,以过对象中心,以消息为驱动

个人理解:一切皆对象的思想

}

一 前言总概

1、常量变量

初始化对象与赋值是两个概念

直接初始化:int a(12);高效

复制初始化:int a = 12;

内置类型差别不大,类类型大

2、变量作用域:全局,局部,语句作用域;(文件作用域)c++多出:类作用域,命名空间作用域

3、c++中struct和class唯一区别在于struct默认成员为public而class默认private

4、头文件用来声明和类型定义,const变量如果用常量表达式定义,头文件中的同名const变量会被编译器优化为字面值常量而不分配存储空间;否则,最好用extern声明。

5、问题:引用占用内存空间吗?作为函数形参的工作原理?

二 标准库类型之string类

string vector bitset三大类

1、string类

 1.1 初始化string对象

   string s(2,'c');其他方式和c++中内置类型一致

 1.2 string对象的操作

   1)empty size s[n] 

   2)关系操作符

     > < == >= <=;

    若两个一长一短string对象作比较,前边字符都匹配的话,则长string对象大于短string对象;

  3)赋值操作符

  4)加法操作符:即连接

    +操作符左右操作数必须有一个为string类型对象;注意+操作符的结合性:左结合;

    和字符串字面值的连接。

  5)从string对象获取字符

    string s();char c = s[s.size() - 1];

    下标操作可用作左值:s[n] = 'c';

    下标n可计算,为unsigned型就可,但注意:越界未定义;

    c++中:<cctype>头文件的函数可用来测试string对象的单个字符的属性。注意区分c标准库:<ctype.h>