三目运算符
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
1):C语言返回变量的值,C++返回的是变量本身
C语言中的三目运算返回的是变量值,不能作为左值使用
C++中的三目运算符可直接返回变量本身,因此可以出现在程序的任何地方。
注意:三目运算符中可能返回的值中如果有一个是常量值,则不能作为左值使用
(a<b?1:b)=30;//这里,返回的值可能是“1”,然而“1”是常量,“1”=30;显然这种赋值的方法是错误的
const增强
const基础知识:
# include <iostream>
int main(void)
{
//const定义常量----》const意味着只读
const int a;
int const b;
const int *c;//c是指向整形常数的指针(所指向的内存数据不能被修改,但是本身是可以修改的)
int *const d;//d为常指针,(指针变量不能被修改,但是它所指向的内存空间可以被修改)
const int *const e;//e是一个指向常整形的常指针(指针和她所指向的内存空间均不能被修改)
}
const 和 define的区别:
const 常量是由编译器处理的,提供类型检查和作用域检查
宏定义是由预处理器处理,单纯的文本替换
C语言中的const变量:
C语言中的const变量是只读变量,有自己的存储空间
C++中的const常量:
可以分配存储空间,也可以不分配存储空间
当const常量为全局,并且需要在其他文件中使用,会分配存储空间
当使用&操作符,取const常量的地址时,会分配存储空间
当const int &a;const修饰引用时,也会分配存储空间