C++拾遗(五)语句相关
前缀格式与后缀格式
对于表达式:后缀如 i++ 表达式的值仍是 i,在遇到下一个顺序点后再将 i 加1。前缀 ++i 表达式的值就是(i+1),先计算表达式的值,不需要等待 顺序点。
对于类:前缀函数效率比后缀函数高,后缀函数需要首先复制一个拷贝,加 1 完成后将复制的拷贝返回。而前缀函数是将值加 1 再返回结果,不需要拷贝。
对于指针: * 和 ++前缀 、--前缀的优先级相同,以从右到左的方式结合。这意味着:
- *++pt 表示先对 pt 指针加 1 ,再取加 1 后的 pt 指向的值。
- ++*pt 表示先取 pt 指针指向的值,再对 pt 指向的值加1。
++后缀和--后缀优先级相同且高于前缀。这意味着:
- (*pt)++ 表示先取pt指向的值,再对这个值加 1 。
- *pt++ 中++操作符先作用于pt,但是由于是后缀操作符,所以仍然取pt指向的值,在执行到下一个顺序点后,再对pt加 1 。
逗号操作符
逗号表达式的值是第二部分的值,如 i = ( 10, 200 );i 的值是200。但是逗号操作符的优先级最低,所以如 i = 10, 200; i 的值为10。
字符串比较
Char数组的数组名与字符串比较不能使用==操作符,应使用strcmp();若字符串相等,则返回0;若字符串不相等则返回1。
strcmp(str1,str2);
strcmp(str1,str2)<0;则str1在str2前面。
strcmp(str1,str2)>0;则str1在str2后面。
类型别名
C++的两种方式:
- 预处理器方式:使用#define aliasName typeName
这种方法使得程序在编译时用typeName替换掉aliasName。但是这仅仅是字符的替换,也就是说对于一系列变量的声明不适用。
例如:#define FLOAT_POINTER float *
FLOAT_POINTER pa, pb;
只是替换为 float * pa, pb; 这时pa是一个指针,然而pb还是一个float变量。
2. typedef typeName aliasName;
这种方法能处理复杂的类型别名。
逻辑操作符
||和&&都是顺序点,即先计算左侧的值再进行右侧的判断。
&&操作符优先级高于||。
?:操作符
C++中唯一一个需要三个操作数的操作符。
ex1 ? ex2 : ex3
若ex1的值为true,则表达式值为ex2的值;
若ex1的值为false,则表达式值为ex3的值。
switch细节相关
标签必须是单独的整数(包括char和enum)。
case只是行标签,跳到该标签后将依次执行之后的所有语句除非用break跳出。
如果标签均不匹配,则跳到default处执行;如果此时没有default,则跳出switch执行之后的语句。
转载于:https://www.cnblogs.com/DeathKnightH/p/5332163.html
C++拾遗(五)语句相关相关推荐
- 捷信达会员管理系统SQL语句相关
捷信达会员管理系统SQL语句相关 USE gshis GO SET ANSI_NULLS, QUOTED_IDENTIFIER ON GO/****************************** ...
- 五.软件相关(各种各样的手机和电脑软件, 急速提升你使用手机和电脑的效率, 大大方便你的生活)
本文是众多使用技巧中其中的一篇, 全部使用技巧点击链接查看, , 或直接查看本专栏其他文章, 保证你收获满满 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可 ...
- 计算机循环语句for,计算机for循环语句相关知识.doc
1)for循环语句的一般形式: for(表达式1:表达式2:表达3) { 循环体语句: } 表达式1 通常用来给循环变量赋初值,一般是赋值表达式.也允许在for语句外给循环变量赋初值,此时可以省略该表 ...
- c语言循环语句相关摘要,C语言中循环语句的应用研究
为了帮助初学者尽快掌握C语言的循环语句,通过实例较详细的分析了循环语句的结构.功能和应用方法,以便读者能在实际应用中能够合理地选择循环语句,编出满足需要的程序来. . 26 0 价值工程 C语言中循环 ...
- Java岗位笔试题之sql语句相关(数据库Mysql)
前段时间闺蜜面试了一家公司,面试题其中有一个市关于sql,说实话sql能力实在是太差,百度了之后才知道怎么写???,现做如下记录总结: 有如下两个表dept(部门表)和emp(员工表),查出至少有一个 ...
- MySQL语句相关经验总结
为什么80%的码农都做不了架构师?>>> 1. 字段自减 UPDATE `table_name` SET `total`=IF(`total` < 1, 0, `tota ...
- python3 try语句相关 (try/except/else/finally)
1.try - except 作用: 捕获程序在执行时遇到的异常情况,即一些报错.什么啥玩意儿没定义啊,符号又错了啊之类的你懂得. 意义: 因为程序在发现某个错误时,往往会中断不再向下执行,如下例子说 ...
- MyBatis中SQL语句相关内容
MyBatis模糊查询 使用 ${...} 代替 #{...} SELECT * FROM tableName WHERE name LIKE '%${text}%'; 在MyBatis中写SQL语句 ...
- python try语句相关(try/except/else/finally)
1.try - except 作用: 捕获程序在执行时遇到的异常情况,即一些报错.什么啥玩意儿没定义啊,符号又错了啊之类的你懂得. 意义: 因为程序在发现某个错误时,往往会中断不再向下执行,如下例子说 ...
最新文章
- ISOOSI网络模型的通俗解析
- iptables使用ipt_connlimit限制连接数
- 学维修电脑要多久_学蛋糕一般要学习多久、学费贵吗?
- Go实战--golang中使用redis(redigo和go-redis/redis这个已测试)
- java netty socket_Java-彻底弄懂netty-原来netty是这样启动的-知识铺
- Spring整合web开发
- 后端开发如何设计数据库系列文章(二)设计大数据量表结构
- CVE-2020-16875: Microsoft Exchange远程代码执行漏洞通告
- 零基础成为月薪过万前端开发工程师,很难吗?
- ubuntu 16.04 + zabbix 3.4 + postgresql libzbxpgsql
- iOS SwiftUI 开发实机测试 TextField 不显示字
- SHELL脚本-猜数字游戏
- Spring定时任务高级使用篇
- 语音识别错误太多?高科技巨头们偏偏“不信邪”
- c#无标题窗口的拖动
- 初中计算机知识ppt,初中信息技术操作考试系统题库PowerPoint部分
- wifi工具iw常用操作
- Linux配置定时任务
- 继域名解析后------------我的网页进不去了!!!(修复方法)
- jQuery添加插入元素技巧