C++笔记--类型和声明
- 布尔量
- Eg: bool b1=a==b;//这个例子中,=是赋值,==是判断是否相等,所以先是判断是否相等,a如果等于b,b1的值就是true,否则就是false了
- Bool经常被用作检查某些条件是否成立的函数的结果类型,
- Eg:bool greater(int a,int b) {return a>b}
- Bool可以和整数进行隐式的转换(任何非零的整数都是true,零为false)
- eg:bool a=ture;
- bool b=true;
- bool x=a+b;//因为a+b=2 为true,所以x也是tru
- Bool y=a|b;//a/b=1,所以y为true
- 字符型
- 一个char类型包含8位二进制位数,可以保存256中不同的值
- 整数型
- 浮点型
- 大
- sizeof(char)= 1
- sizeof(short)= 2
- sizeof(float)= 2
- sizeof(int)= 4
- sizeof(double)= 8
- sizeof(void*)= 4
- sizeof(long)= 4
- sizeof(LONGLONG) = 8
- sizeof(bool)=
- sizeof(wchar_t) = 2
- Void
- 用于刻画一个没有返回值得函数 void f();
- 用作指向不明类型的对象的指针的基础类型 ,这个指针允许被强制转换为任意类型的指针 void * pv;
- 一个特殊的例子:
- Char类型的指针:
- char c='V';
- cout<<c<<endl;
- cout<<&c<<endl;//char类型的数据,输出地址是不能用&符号的
- cout<<(void *)c<<endl;//可以利用(void*)指针进行输出,当然也是可以强制转换成别的类型的指针
- cout<<(double *)c<<endl
- return 0;
- 枚举
- 声明
- 除了函数和命名空间外,其他声明都应该以分号结束
- 声明的名字
- 名字最好取得比较规范,让人容易看懂。Eg:current_token
- 名字的作用域:
- 一般是从名字声明开始的地方开始到这个作用块结束的地方成为名字的作用域
- 如果出现全局变量和局部变量都是一样的名字的话,在局部的地方会遮蔽掉全局变量,如果还想要调用全局变量的话,可以通过作用域解析运算符::进行调用。
- 声明的初始化
- 如果没有初始化:全局的,名字空间的,局部静态的对象会初始化为对应的0
- 但是局部对象和动态对象不会初始化;
- 例如:
- Int main(){
- Int x;//这里就是动态的变量,没有进行初始
- }
- Typedef
- 可以将一个名字变为另一个名字:typedef unsign char uchar;//将名字较长的unsign char变为了uchar类型
C++笔记--类型和声明的更多相关文章
- [C++学习历程]基础部分 C++中的类型和声明
前面搭起了C++的VS环境,可以在VS中编写C++代码了,也运行了最简单的一个程序Helloworld.那么我们该怎么才能写出功能强大的程序,怎样才能随心所欲的应用呢,那就需要重新回头来,从C++基础 ...
- leanote 信息栏显示笔记本和笔记类型
本文解决如下两个问题: 1. 在列表视图下使用搜索时,不知道搜出来的笔记属于哪个笔记本.(摘要视图下是有显示的) 2. 增加显示笔记类型(markdown 或 富文本) 修改resources\app ...
- 复合类型的声明——是int *p还是int* p
我们先来看一条基本类型的声明语句:int a, b, ... 即一条声明语句由一个数据类型(int)和紧随其后的一个变量名列表(a, b, ...)组成 更通用的描述是:一个基本数据类型和紧随其后的一 ...
- mybatis进行mapper.xml测试的时候发生"必须为元素类型 “mapper” 声明属性 “namespace”
1.Caused by Caused by: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 45; 必须为元素类型 " ...
- 标C编程笔记day05 函数声明、文件读写、联合类型、枚举类型
函数声明: 1.隐式声明:在没有声明的情况下,系统可依据參数类型推断去调用函数(有可能出错) 2.显式声明:声明在被调用之前.如:double add(double,double); ...
- The C++ Programming Language 学习笔记 第四章 类型和声明
1.关于main 函数中的 return 0 C99标准中,main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统).如果 main 函数的最后没有写 return ...
- C++程序设计(第4版)读书笔记_类型与声明
字符类型 #include <iostream> using namespace std; int main() { cout << << endl; cout & ...
- TypeScript 入门自学笔记 — 类型断言(二)
码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...
- C语言学习笔记--类型定义&联合
一.类型定义 C语言自定义数据类型 (typedef) C语言提供一个叫做typedef的功能来声明一个已有的数据类型的新名字. typedef int Length; 使得Length成为int类型 ...
随机推荐
- npm init node 通过指令创建一个package.json文件及npm安装package.json
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...
- Oracle的启动过程
在Windows操作系统平台下,可以使用SQL*Plus.OEM和系统服务管理等方式进行数据库的启动与关闭操作.数据库启动分为3个步骤:创建并启动数据库实例.装载数据库和打开数据库.数据库的关闭过程与 ...
- java编程思想第九章接口
9.1抽象类和抽象方法 为什么要有抽象类? 是希望通过通用接口操作一系列类. 那么抽象类的形式是什么样的呢? 声明类的使用使用abstract关键字,且在该类中应该具有抽象方法. 注:抽象方法被关键字 ...
- Quartz 定时任务(含Redis)
一 定时任务基础: MQ:Message Queue消息队列服务器:MSMQ.ActiveMQ.Redis等项目任务:确定邮件的发送,重置密码的发送(发送可能会很慢,而且有可能还需要重试),用消息队 ...
- Vue开发模板简介
1. 传统发开模式的问题 用传统模式引用vue.js以及其他的js文件的开发方式,会产生一些问题. 基于页面的开发模式:传统的引用vue.js以及其他的js文件的开发方式,限定了我们的开发模式是 ...
- C Primer Plus学习笔记(五)- C控制语句:循环
伪代码的概念: 伪代码是一种用简单的句子表示程序思路的方法,它与计算机语言的形式相对应.伪代码有助于设计程序的逻辑.确定程序的逻辑无误之后,再把伪代码翻译成实际的编程代码.使用伪代码的好处之一是,可以 ...
- Oracle Sql中输入特殊字符 转义字符
1.单引号,出现在单引号对中的'号必须成对出现,每对代表一个', 例如select '''' from dual; 结果:' 前后两个'代表正常字符串,中间两个''代表一个',此语句输出结果只有一个'
- HeapCreate深入研究
本机:win7(x86),4G内存 #include"stdafx.h"#include<windows.h>#include<stdio.h>#inclu ...
- oracle 启动停止过程
oracle 主要由两部分组成:instance和database .instance是指一组后台进程/线程和一块共享内存区域,而database是指存储在磁盘上的一组物理文件. 数据库启动包括三个步 ...
- 监控和安全运维 1.3 cacti增加客户端监控
二. 安装客户端(增加一个linux服务器) 1.在客户端上 安装snmp yum install -y net-snmp 2. 修改snmpd.conf vim /etc/snmp/snmpd.co ...