常变量
来源:互联网 发布:2017手机必备软件 编辑:程序博客网 时间:2024/04/26 14:34
1、左值与右值
a=10;//a为左值,只有写权限,在赋值号左边。其他为右值
b=a;//a为右值,读权限
2、const的作用
(1)定义常变量,只读变量,不能写;如:const int a=100.定义常变量时必须初始化。
(2)类型对于const透明。即const int a=100等价于 int const a=100
(3)const直接修饰部分,不能做左值,不能修改。const int a=100;a=200//error,a做了左值,所以错误
(4)权限只能同等传递或者缩小,不能扩大。
const int *p1=&a;//等价于 int const *p1=&a;
p1=&b;//ok
*p1=20;//error,const修饰*,所以不能解引用
int * const p2=&a;
p2=&b;//error,const修饰p2,p2的值不能修改
*p2=100;//ok,不修饰*,所以可以解引用
const int * const p3=&a
p3=&b;//error,第二个const 使p3的值不能被修改
*p3=100;//error,第一个const使p3不能解引用
char *Mystrcpy(char* des,const cha * src)//功能字符串拷贝,返回值为指针,形参为指针
{
char *p=*des;
while(*des++ = *src++);
return p;
}
3、断言assert
使用函数assert();时先调用#include<assert.h>如:
#include<assert.h>
assert(b!=0)//断言b不等于0,但b不等于0时对函数无影响,当b等于0时,程序崩溃,并报告出错位置
发布程序时,用release,此时assert函数失效,如遇到错误,程序崩溃,用户界面会显示遇到未知错误;
而写程序时用debug
4、计算字符串有效长度
int Mystrlen(const char *str)//不允许解引用,即不允许修改原来的字符串中的内容
{
int i=0;
while(str[i++] != '\0');
return i-1;
}
int Mystrlen(const char *str)//不允许解引用,即不允许修改原来的字符串中的内容
{
int i=0;
for(;str[i] != '\0';i++);
return i-1;
}
- 常变量
- 常量、变量和常变量
- 常变量的声明
- 常值变量
- 2.4、C++常变量
- C++ 常变量
- C++常变量
- C++常变量
- 常指针,指向常变量的指针
- 常引用、静态常变量的例子
- 常成员变量、常成员函数及常对象
- C++常对象,常变量,常成员函数详解
- 常变量声明的方法
- 7_常变量.cpp
- 常成员变量的说明
- 面试常考题---交换变量
- 常变量 枚举 宏定义
- 【C++】变量(六) 常变量
- EasyDemo*JavaSE 细节知识点(Updating on Github)
- SPOJ ADAQUEUE
- 如何使用Rust提高Ruby性能
- hibernate一级缓存和二级缓存
- 2017-12-4
- 常变量
- java设计模式-单例设计模式(一)
- 又一个不再支持 Python 2 的,这次是 Django 2.0
- JAVA中的Random()函数
- 初入博客、初始大数据
- 面向对象:现在,我想定下来了,你在哪里?
- 有人对他说:如果连 Python 都学不会,你就不要学编程了
- ES6中的promise法则
- 趣图:QA 工程师去买床