c++ 笔记1 类型声明

exceptional C++

不同的
静态比动态高效

模板元编程  tepleate meta-programming

KDE qt


GNAME   wX widget eexexex
智能指针

内置类型   不需要我们自定义

整形    
bool
char  :signed char,unsigned char, wchar_t  char16_t char32_t    16默认就是占2个字节,char32_t, 制定
int   int, unsigned int
long: long, unsignedl long int
long long: long long,unsignedl long long       

浮点型:
double:
float:
long double: 扩展精度的浮点行
复合类型:   
数组:T[]
指针:T*
引用:T&


自定义类型  用四个关键字 创建我们自己的新的类型
enum,struct,union class    机制

typedef using  产生类型别名


void  类型   void可以作为模板的类型
C不把他当作类型 , C++把他当作类型

long long 至少64位大小的整形值

C++  bytes=一个字节,  =8bit   以bytes为基本单位
   char  1个字节
    可以unsiged 或者signed类型,   实现就是C++编译器, 主要是厂商的不同, 大多数编译是实现为signed char

signed unsigned, 是正负号的   在计算机中是 内存表示不一样,
按有符号解读   -(2^7-1)
按无符号结构解读  2^8-1

通用寄存器的长度, 指针寻址, 一次只能跳四个bit,,

long double,  一次占

一个汉字一个字符,占三个字节  中日韩
一个汉字占两个,三个,


uint8_t 固定确定大小,主要用到跨平台,

utf8 是一个汉字占3个字节
gbk 是一个汉字占2个字节

通过判断某一位的字符是否大于0x80,如果大于则为双字节字符,否则为单字节字符

abc轩辕,5个字符
abc 这三个字母是按单字节(一个字节)存储,    英文字符
汉字是按双字节存储(一个字符按两个字节存储)  汉字

1个字符是8位,8个比特  128个不同的值, 一个值对应一个值  英文字母、数字、符号
2个字符是16位,16个位, 128*128, 一个值对应一个汉字

ctrl+all+l 锁屏

u16''

0x1010  
 
U'轩'  ->char32_t   UFADEBEEF
u ‘轩’ -> char16_t     DEAD

25 默认是int类型, 就是signed int类型的简写, 默认就是这样

0x是十六进制的文字常量

25U  表示是无符号整形

16. 默认是double,不是float类型
12f 是不对的

12.f是 正确的语法

16. 2.08  都是double类型
12f 12.F 是float类型 不加后缀都是double 类型

8位整形值,int,

S EEEEEE FFFFFFFFFFFFF;

16,20s/sizeof(\([^)]\+\))/numeric_limits<\1>/g
^是取反集

16.20s/

“abc”   是 const char *

R "(abc"\n")"   这里都不是成对出现的, 他的语法格式是 R"()"
主要是用来进行正则匹配的,

R“x()x”  修改边界的字符串;   比如说都是匹配

-std=c++11,打开C++11的标准的


u8“轩辕ab”    UTF-8

U "轩辕ab"  


cleasr

一个民另可以 是与
/huw
void foo(); typedf com


声明的作用, 是告诉编译器,我的名字关联什么,
 对与类型基级别

对于对象的,声名, 对象即声明,

声明可以有多次, 但是定义只有一次

别处,只要不在同一个作用域的,

5种存储方式
外部存储,静态存储,寄存器存储,自动存储,

word:

__cpp

::获取全局的作用域,

对象的定义:
   一是分配内存
   二是内存那块区域的初始化

//内置类型, 不调用构造函数

内置类型的默认构造函数 把他0

int *p=int*();

局部对象是不调用构造函数的, 也就是不分配内存
全局,名字空间, 静态 给他分配为0,

统一的初始化语法,

int n{9}  默认初始化

int n=9; 构造(初始化); 对象n不存在
n=9; 赋值    //对象n存在


text,   程序加载到 这个程序的进程中;

text,data,bss,stack,heap

局部非静态放到栈区

全局,名字空间,静态,是放在数据区   全局静态

占里面分配内存指向,

new 三步
1,分配内存
2,初始化
3,返回指针

     指针p=nullptr;//

全局未初始化区,在main 函数执行之前,来初始化

最好任何一个名字都有作用域
     
void (*Func)(int,int,double)

void useF(Func(fun))
{
     fn(100,100,0.5)
}


//
int  f()
{
      int n;
       return n;  是先拷贝再销毁, 而不是销毁后再
}

int & fun()
{
    static int m=1;
    return 0;

}

存储类型+存储变量+

运算符 和操作符 本质是一样的  






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值