变量的定义
要使用一个变量必须先定义(有的地方会说声明)该变量的数据类型
定义一个新变量的语法是写出数据类型标识符(例如 int、short、float 等),后面跟一个有效的变量标识名称
基本用法:[数据类型] + [变量名]
int nlevels;
int nfeatures;
int iniThFAST;
int minThFAST;
bool bNoMore;
double scaleFactor;
声明多个相同类型的变量,可以写在同一行
int nlevels, nfeatures, iniThFAST, minThFAST;
- 整型数据类型(char、short、long和 int)可以是有符号的(signed)或无符号的(unsigned)
- signed: 有符号类型,可以表示正数和负数
- unsigned: 无符号类型, 只能表示正数和0
signed默认等价于signed int。
要声明有符号字符,必须使用signed char。这是因为char的符号性(signed或unsigned)是实现定义的(即编译器特定的),而signed char明确表示字符是有符号的。
unsigned int mnLastKeyFrameId;
unsigned int mnLastRelocFrameId;
unsigned char a;
signed int b = -1
// 如果我们没有特别写出 signed 或 unsigned
// 那么变量默认为 signed,下面两种写法等同
signed short = -10;
short = -10;
- short 和 long 可以被单独用来表示整型基本数据类型,short 相当于 short int,long 相当于 long int,例如下面两个声明是等价的。
short year;
short int year;
- signed 和 unsigned 也可以被单独用来表示简单类型,意思分别同 signed int 和 unsigned int,即以下两种声明互相等同:
unsigned MyBirthYear;
unsigned int MyBirthYear;
查看数据类型
#include <typeinfo>
#include <iostream>
using namespace std; //在代码中可以直接使用标准库中定义的类、函数和对象,而无需在它们前面加上std::前缀。
int main()
{
auto a = 12.4;
cout << typeid(a).name() << endl; // d
return 0;
}
对应的数据类型
bool: b
char: c
signed char: a
unsigned char: h
(signed) short (int): s
unsigned short (int): t
(signed) (int): i
unsigned (int): j
(signed) long (int): l
unsigned long (int): m
(signed) long long (int): x
unsigned long long (int): y
float: f
double: d
long double: e