当前位置: 首页 > 编程日记 > 正文

C++拾遗(五)语句相关

前缀格式与后缀格式

对于表达式:后缀如 i++ 表达式的值仍是 i,在遇到下一个顺序点后再将 i 加1。前缀 ++i 表达式的值就是(i+1),先计算表达式的值,不需要等待      顺序点。

对于类:前缀函数效率比后缀函数高,后缀函数需要首先复制一个拷贝,加 1 完成后将复制的拷贝返回。而前缀函数是将值加 1 再返回结果,不需要拷贝。

对于指针: * 和 ++前缀 、--前缀的优先级相同,以从右到左的方式结合。这意味着:

  1. *++pt 表示先对 pt 指针加 1 ,再取加 1 后的 pt 指向的值。
  2. ++*pt 表示先取 pt 指针指向的值,再对 pt 指向的值加1。

++后缀和--后缀优先级相同且高于前缀。这意味着:

  1. (*pt)++ 表示先取pt指向的值,再对这个值加 1 。
  2. *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++的两种方式:

  1. 预处理器方式:使用#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

相关文章:

github里的默认域_GitMAD 一款扫描Github上的敏感信息和数据泄漏工具

GitMAD是一个用于发现Github上的敏感信息和数据泄漏的工具。通过给定关键字或域&#xff0c;GitMAD便会搜索Github上托管的代码&#xff0c;以查找是否存在匹配项。一旦找到了匹配项&#xff0c;GitMAD将克隆存储库并在文件中搜索一系列可配置的正则表达式。然后&#xff0c;Gi…

【Docker】Docker的三大核心组件

镜像&#xff08;Image&#xff09;、容器&#xff08;Container&#xff09;、仓库&#xff08;Repository&#xff09;是我们常说的Docker的三大组件&#xff0c;接下来就让我们一起详细地探索一番吧。 一、镜像&#xff08;Image&#xff09; 什么是Docker镜像&#xff1f;…

很高兴开始博客之旅

来到博客园&#xff01;&#xff0c;开启我的博客之旅&#xff0c;感觉棒棒哒转载于:https://www.cnblogs.com/pbnull/p/4562230.html

Android Studio Day02-2

AndroidDay02-2&#xff08;AVD&#xff09; Android APP编译的过程之中总是会需要进行相应的功能的调试&#xff0c;以及界面的布局设置在不同手机上的效果的展示。相应的Android平台都包含有Android虚拟设备管理器&#xff0c;Android虚拟设备管理器允许用户自己创建自己的虚…

网络增强现实开发简介 Introduction to Web AR development

搭配webXR、mindAR、three.js和tensorflow.js 你会学到: 获得构建不同类型的网络增强现实应用程序的实践经验&#xff0c;包括图像效果、人脸效果和世界效果 获得关于增强现实如何在网络浏览器中工作的基本理解 掌握使用WebXR、mind-ar-js和threejs构建web AR应用程序 学习使用…

umi脚手架搭建的项目_15天零成本搭建静态博客,托管于Github Page

博客地址技术栈概览前台&#xff1a;Umi(路由) Antd(视图) TypeScript(增加项目可维护性以及规范性)后台&#xff1a;Umi(路由) Antd(视图) TypeScript(增加项目可维护性以及规范性) Rematch(数据管理)服务&#xff1a;Egg.js(基于koa的下一代企业级应用框架) MongoDB搭建…

[maven] 使用问题及思考汇总

&#xff08;1&#xff09;Maven坐标 maven坐标可以唯一标识一个项目&#xff0c;包含四个元素 groupId , artifactId, packaging, version。 groupId&#xff1a;一般为团体,公司,项目。如 oceanic-web, oceanic-dal, oceanic-biz 同属一个 groupId。 artifactId&#xff1a;在…

VS调试时提示此项目已经过期

问题出因&#xff1a; 1.先前卸载VS重新安装时不全面 解决办法&#xff1a; 1.VS应安装两个C的组件 2.首先在“生成”-》 “生成解决方案”完成编译&#xff0c;问题解决。

(DBA之路【五】)关于锁的故事

首先很抱歉&#xff1a;这篇文章我其实整合了很多别人的文章&#xff0c;但是因为太多&#xff0c;一开始被没留意出处所以很难声明来源&#xff0c;很抱歉&#xff0c;但是这篇文章只用来作为学习笔记&#xff0c;作为新手&#xff0c;我以后会注意的。&#xff08;一&#xf…

Android Studio Day03-1(Android studio 系统界面简介)

IDE&#xff08;integrated Development Environment&#xff09;的主要的目的就是用来编辑文本的。 在界面中的分布如下&#xff08;以下的两张图片均为的《Android studio实战快速高效地构建Android应用》一书中的&#xff09;

全流程游戏模型制作学习教程

尤金彼得罗夫|时长:36小时 |视频:H264 19201080 |音频:AAC 44&#xff0c;1 kHz 2ch |大小解压后 35 GB 含课程文件 |语言:英语 (无字幕&#xff0c;) 在本教程中&#xff0c;我将介绍为现代FPS视频游戏创建游戏就绪武器资产的整个过程。我将展示我的工作管道&#xff0c;使用…

requirednew基于xml配置日志不回滚_Elasticsearch配置IK分词器的远程词库

在生活中很多很多地方都涉及到了全文检索&#xff0c;最常见的就好比日常使用到的百度搜索等搜索引擎&#xff0c;也都是基于全文检索来实现的&#xff1b;全文检索种类较多&#xff0c;就好比Elasticsearch、Sorl等。为Ealsticsearch配置词库&#xff0c;可以很好的解决生活中…

PS切图篇(一)---界面设置

#工作区设置 四大主要面板&#xff1a;信息 字符 图层 历史记录 打开必要属性&#xff1a; 选择工具设置 选择图层的方式&#xff1a;ctrl鼠标左击想选择的图层转载于:https://www.cnblogs.com/yinzf/p/5339873.html

简单解决用VS编写hello world时命令行一闪而过

一、在return 0;前一行加一个getchar(); 二、使用项目模板为 windows 桌面向导 c 3、命令行控制台一闪而过。这是我们使用空文件夹加载的项目&#xff0c;默认不是控制台应用程序&#xff0c;新建控制台程序&#xff0c;或者在代码中加入system(“pause”);这种通过代码人为的…

粒子群算法(1)----粒子群简要

一、历史粒子群算法从复杂适应系统衍生PSO算法&#xff08;Complex Adaptive System,CAS&#xff09;。CAS理论于1994年正式提出&#xff0c;CAS中的成员称为主体。比方研究鸟群系统&#xff0c;每一个鸟在这个系统中就称为主体。主体有适应性&#xff0c;它能够与环境及其它的…

Android Studio Day03-2(常用操作)

&#xff08;1&#xff09;选择文本 1.CtrlA 选中全文 2.在将光标置于任意的单词中时按住CtrlW&#xff0c;选中整个词 继续按CtrlW 选中的区域将扩大&#xff0c;扩大至包含任意数量的相邻的单词 按CtrlwShift 进行区域的缩小 &#xff08;2&#xff09;Undo和Redo&…

Blender数字雕刻终极指南学习教程

CGBoost–Blender中的3D雕刻大师–数字雕刻终极指南 大小&#xff1a;29G 含课程项目文件 Master 3D Sculpting in Blender – The Ultimate Guide to Digital Sculpting 本课程教你所有重要的Blender雕刻基础知识&#xff0c;以及如何仅使用免费工具从头开始创建令人惊叹的3D雕…

生产指挥调度系统_市安全生产应急救援指挥中心将大型装载机械设备储备信息纳入应急指挥调度系统...

为拓展应急救援力量体系&#xff0c;发挥社会力量在开展全市重特大突发事件应急救援中的重要作用&#xff0c;近日&#xff0c;市安全生产应急救援指挥中心在加强应急指挥信息平台“一网七库”建设的基础上&#xff0c;成功对接甘肃省非道路移动机械监管平台&#xff0c;做到数…

java.sql.Exception:setString 只能处理少于 32766 个字符的字符串

java.sql.Exception:setString 只能处理少于 32766 个字符的字符串 解决方式是 : 升级ojdbc的版本, 将原来的 ojdbc14_10.2.0.2.0.jar 升级到 ojdbc6_11.2.0.1.0.jar这边行方用的是 oracle版本是 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0maven 安装到本地…

无需自己输入include这些的方法

使用项目模板为 windows 桌面向导 c 不用空白项 直接默认 不用勾选其他

第二次团队冲刺2

实现了查询的webservice服务端&#xff0c;做了查询时等待界面&#xff0c;对查询速度做了一点优化。 还写了一个入馆须知模块&#xff0c;介绍图书馆借阅规则。 还有借阅个人信息没做出来&#xff0c;还没进行界面优化。 转载于:https://www.cnblogs.com/318abc/p/4569576.htm…

Android StudioDay03-3(键盘导航)

Android Studio Day03-3(键盘导航) (1)打开Select In 快捷键&#xff1a;altF1 如下图&#xff1a; &#xff08;2&#xff09;打开Class CtrlN Class操作允许用后导航到特定的JAVA类&#xff09;&#xff0c;因此此操作也只能在Java文件中使用。 Android studio已…

虚幻中的风格化环境制作学习教程

Learn Squared-Tyler Smith-虚幻中的风格化环境 信息: 像AAA游戏开发者一样在虚幻引擎中创建风格化的环境。行业领先的游戏艺术家泰勒史密斯将教你在虚幻引擎中构建美丽的实时世界的规划、构建、集成和优化阶段使用多种巧妙的技术。 大小解压后&#xff1a;22G 时长6h 13m 19…

【转】oracle PLSQL基础学习

【转】oracle PLSQL基础学习 --oracle 练习&#xff1b;/**************************************************PL/SQL编程基础***************************************************************/--firstday--》》》数据类型-- Create tablecreate table T_CSCUSTOMER( CUST_NO…

python如何创建不同元素的矩阵_python – 如何在数据帧中创建矩阵元素的数...

我在.TXT文件中有3个参数’A’,’B’,’C’的数据集,在我用2420矩阵打印后,我需要收集’A’,’B’,’C’的第一个元素熊猫数据帧中的长数组,然后是每个第二个元素,然后是第3个,直到第480个元素为止. 所以我的数据在文本文件中是这样的&#xff1a; 我的数据是txt文件如下&#…

wps多窗口打开

在wps中打开wps文档不在一个窗口的方法如下&#xff1a; 1、启动wps文档&#xff0c;点击wps文字→选项&#xff0c;在弹出的选项对话框点击视图选项卡&#xff0c;勾选 在任务栏中显示所有窗口&#xff1b;

RHEL7.0系列 修改字符终端分辨率

由于是在VM里面安装的&#xff0c;完了之后终端界面的分辨率非常高&#xff0c;很难操作 因为RHEL7用了grub2&#xff0c;而不再是grub了&#xff0c;在grub2中要修改的文件是/boot/grub2/grub.cfg; 这里有一张分辨率的对照表&#xff08;在grub.cfg中添加vgaask,系统重启后就会…

Java Day01-1

1.JAVA语言介绍 &#xff08;1&#xff09;特点&#xff1a;可移植性&#xff0c;平台无关性&#xff0c;面相对性&#xff0c;健壮性&#xff0c;分布式&#xff0c;多线程 &#xff08;2&#xff09;版本&#xff1a;JavaSE&#xff08;标准版&#xff09;、JavaME&#xf…

Autocad 3D 完全学习教程

Autocad 3D 完全学习教程 你会学到什么 如何使用AutoCAD三维基本特征 了解如何在AutoCAD中创建和开发三维模型 准备实体、网格和曲面几何图形 不同的命令2d和3D 要求 不需要事先了解 18章 63节讲座 全长5小时7分 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译…

[转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

首先这是现在最基本的分层方式&#xff0c;结合了SSH架构。modle层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库&#xff08;增删改查&#xff09;。Service层&#xff1a;引用对应的Dao数据库操作&#xff0c;在这里可以编写自己需要的代码&…