C++ 06 之 c++增强

c06c++增强.cpp

#include <iostream>using namespace std;
// 1、全局变量检测增强:可以检测出重定义 (c语言不会报错,但是C++会报错)
//int a;
//int a = 10;// 2、函数检测增强: 函数返回值类型、形参类型、实参个数
int sum(int a, int b)
{return a + b;
}// 4、struct增强:c++创建结构体变量时候,struct 关键字可以省略
struct students5
{int age;// C语言的结构体中不能加函数,但C++中结构体可以有函数成员void fun1() {age++;};   
};// 7、const增强
// 全局的const
const int a = 100;  // 栈中申请的空间.受到常量区保护,运行修改失败int main6()
{/*int res = sum(1, 3);printf("res:%d", res);cout << "hello world" << endl;*/// 3、类型转换检测的增强,等号前后的数据类型要一致,要强转,否则要报错// char* p = (char *)malloc(100);// 4、struct 结构体增强  // struct students5 stu;// c++创建结构体变量时候,struct 关键字可以省略students5 stu;stu.age = 10;stu.fun1();cout << "age: " << stu.age << endl;// 5、 bool增强bool flag = true; // 结果为1//flag = false;   // 结果为0flag = 0;         // 结果为0flag = 100;flag = -100;    // 非零,结果都是1  1为真 0为假cout << flag << endl;cout << sizeof(flag) << endl;cout << sizeof(bool) << endl;   // bool 类型占 1字节 空间// 6、三目运算符增强//int a = 10;//int b = 20;// ?前面为真,返回 :前的a   // ? 前面为假,返回 :后的b//printf("res: %d\n",a > b ? a : b);// C 中三目运算符返回的是 值  C++中三目运算符返回的是 变量   所以此种写法C中错误,C++可以// C++中三目运算符 返回的是 变量 此时返回的是b ,而后再给 b 赋值100// : 号前是一个表达式   :号后是一个完整的表达式//a > b ? a : b = 100;//printf("a:%d\n",a);   // 10//printf("b:%d\n",b);   // 100// ?号前为真,执行 :号前的表达式,  :号后的不执行,所以此时 b = 20//a < b ? a : b = 100;//printf("a:%d\n", a);  // 10//printf("b:%d\n", b);  // 20// 7、const 增强// a = 200;  // 全局常量不可以修改// int* p = &a;// int* p = (int*) & a;// *p = 200;   // 全局常量指针写法,不可以修改// printf("======================================");// printf("a:%d\n",a);// printf("======================================");// 局部const// const int b = 20;//b = 300;    // 局部常量不可以修改//int* p =(int*) & b;    // 局部常量指针写法,不可以修改//*p = 300;//printf("b:%d\n",b); // b:20 //int arr1[b];    // c++中 const修饰的变量 称为常量,可以用在数组的初始化return 0;
}

 

 

 

c06c++增强.cpp

#include <iostream>
using namespace std;
// 1.全局变量检测增强:可以检测出重定义(c语言不会报错,但是c++会报错)
// int a;
// int a = 10;// 2.函数检测增强:函数返回值类型、形参类型、实参个数
int sum(int a, int b)
{return a + b;
}// 4.struct增强:c++ 创建结构体变量的时候,struct 关键字可以省略
struct students5
{int age;// C语言的结构体中不能加函数,但C++中结构体可以有函数成员void fun1(){age++;};
};// 7.const增强
// 全局的const
const int a = 100;  // 栈中申请的空间,受到常量区保护,运行修改失败int main()
{int res = sum(1,3);printf("res:%d\n",res);// 3.类型转换检测的增强,等号前后的数据类型要一致,要强转,否则报错char* p = (char* )malloc(100);// 4.struct 结构体增强// struct students5 stu;// c++ 创建结构体变量时候,struct 关键字可以省略students5 stu;stu.age = 10;stu.fun1();cout << "age: " << stu.age << endl;// 5. bool增强bool flag = true; // 结果为1flag = false;   // 结果为0flag = 0;       // 结果为0flag = 100;     // 结果为1flag = -100;    // 非零,结果就都是1   1为真  0为假cout << flag << endl;cout << sizeof(flag) << endl;cout << sizeof(bool) << endl;   // bool 类型占 1字节空间// 6.三目运算符增强int a = 10;int b = 20;// ?前面为真,返回 :前的a   // ? 前面为假,返回 :后的b// printf("res:%d\n", a > b ? a : b);//C中三目运算符返回的是值  C++中三目运算符返回的是 变量 所以此种写法C中错误,C++可以// C++中三目运算符 返回的是 变量 此时返回的是b ,而后再给 b 赋值100// : 号前是一个表达式   :号后是一个完整的表达式a > b ? a : b = 100;printf("a:%d\n",a); // 10printf("b:%d\n",b); // 100// ?号前为真,执行 :号前的表达式,  :号后的不执行,所以此时 b = 20//a < b ? a : b = 100;//printf("a:%d\n", a);  // 10//printf("b:%d\n", b);  // 20return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【总线】AMBA总线架构的发展历程

目录 引言 发展历程 第一代AMBA&#xff08;AMBA 1&#xff09; 第二代AMBA&#xff08;AMBA 2&#xff09; 第三代AMBA&#xff08;AMBA 3&#xff09; 第四代AMBA&#xff08;AMBA 4&#xff09; 第五代AMBA&#xff08;AMBA 5&#xff09; AMBA协议简介 ASB&#x…

JavaScript快速入门系列-3(函数基础)

第三章:函数基础 3.1 函数定义与调用3.1.1 函数声明3.1.2 函数表达式3.2 参数与返回值3.3 匿名函数与立即执行函数表达式(IIFE)3.3.1 匿名函数3.3.2 立即执行函数表达式3.4 箭头函数3.4.1 箭头函数与this3.5 函数的高级话题3.5.1 闭包3.5.2 函数柯里化3.5.3 高阶函数小结在Jav…

【C++课程学习】:Data类的实现

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;C课程学习 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f369;1.头文件 &#x1f369;2.实现文件&#xff1a; &#x1f369;3.分析&#xff1a; &…

【硬件模块】SSD1306 OLED屏幕(含GD32ESP32驱动代码)

OLED屏幕 最近在写GD32的文章&#xff0c;之前STM32有OLED屏幕来展示数据&#xff0c;ESP32可以直接打印到电脑屏幕上&#xff0c;GD32的话手上就没有办法了。 虽然是可以直接把STM32的OLED屏幕的驱动代码改改移植到GD32上面&#xff0c;不过想了想干脆写一个文章来说说如何驱…

2024牛客网高频精选Java面试八股文整理(附答案)

Java 面试 Java 作为编程语言中的 NO.1,选择入行做 IT 做编程开发的人&#xff0c;基本都把它作为首选语言,进大厂拿高薪也是大多数小伙伴们的梦想。以前 Java 岗位人才的空缺&#xff0c;而需求量又大&#xff0c;所以这种人才供不应求的现状&#xff0c;就是 Java 工程师的薪…

公用nacos,实现只调用本机相应服务,不出现负载均衡到别人机器上

当我们有两个研发同时在调试一个微服务模块时&#xff0c;你和对方本地都会启动服务&#xff0c;这就导致在nacos会同时注册两个实例。默认情况下请求这个服务&#xff0c;具体处理请求的程序会在你和对方之间来回轮询&#xff0c;即一下你的服务一下对方的服务。 其结果就导…

栈(Stack)汇总

栈简介 栈&#xff08;Stack&#xff09;是只允许在一端进行插入或者删除操作的线性表。它的操作特性可以概括为——后进先出&#xff08;Last In First Out&#xff0c;LIFO&#xff09;。栈顶&#xff08;Top&#xff09;——线性表允许进行插入删除的一端&#xff1b; 栈底…

【Linux】基础IO——文件描述符,重定向

话接上篇&#xff1a; 1.文件描述符fd 磁盘文件 VS 内存文件&#xff1f; 当文件存储在磁盘当中时&#xff0c;我们将其称之为磁盘文件&#xff0c;而当磁盘文件被加载到内存当中后&#xff0c;我们将加载到内存当中的文件称之为内存文件。磁盘文件和内存文件之间的关系就像程…

红队内网攻防渗透:内网渗透之Linux内网权限提升技术:udf提权Capability权限LD_PRELOAD环境变量

红队内网攻防渗透 1. 内网权限提升技术1.1 Linux系统提权-Web&用户-数据库udf提权1.1.1 信息收集1.1.2 Web权限获取1.1.3 MYSQL-UDF提权1.1.4 下载到目标上1.1.5 连接确认是否有条件进行导出调用1.1.6 开始进行写入导出调用1.2 Linux系统提权-Web&用户-Capability能力1…

ThinkBook 16 2024 Ubuntu 触控板问题解决

sudo insmod goodix-gt7868q.ko sudo cp local-overrides.quirks /etc/libinput/local-overrides.quirks sudo systemctl restart gdm 有偿解决&#xff0c;无效退款 联系前&#xff0c;请写明笔记本型号和ubuntu版本

生命在于学习——Python人工智能原理(3.3)

三、深度学习 4、激活函数 激活函数的主要作用是对神经元获得的输入进行非线性变换&#xff0c;以此反映神经元的非线性特性。常见的激活函数有线性激活函数、符号激活函数、Sigmod激活函数、双曲正切激活函数、高斯激活函数、ReLU激活函数。 &#xff08;1&#xff09;线性…

【elementui源码解析】如何实现自动渲染md文档-第二篇

目录 1.概要 2.引用文件 1&#xff09;components.json 2&#xff09;json-template/string 3&#xff09;os.EOL 3.变量定义 4.模版填充 5.MAIN_TEMPLATE填充 6.src下的index.js文件 1&#xff09;install 2&#xff09;export 7.总结 1.概要 今天看第二个命令no…

videoJS 视频 + 独一无二皮肤 + mp4/m3u8

推荐和参考文章&#xff1a; video.js调用-腾讯云开发者社区-腾讯云> 一、总结&#xff08;点击显示或隐藏总结内容&#xff09;一句话总结&#xff1a;网上有各种细致的现成的代码可以拿来用&#xff0c;没必要自己死专1、video.js有两种初始化方式&#xff1f;一种是在v…

C++并发之条件变量(std::condition_variable)

目录 1 概述2 使用实例3 接口使用3.1 wait3.2 wait_for3.3 wait_until3.4 notify_one3.5 notiry_all3.5 notify_all_at_thread_exit1 概述 条件变量是一个能够阻塞调用线程直到被通知恢复的对象。   当调用其中一个等待函数时,它使用unique_lock(通过互斥锁)来锁定线程。线程…

hadoop和hbase对应版本关系

https://hbase.apache.org/book.html#configuration

DuDuTalk语音工牌:如何帮助房企打造数字化的案场接待体验

房地产案场接待作为客户体验的第一站&#xff0c;其服务质量直接影响客户的购房决策。然而&#xff0c;传统的案场接待方式存在诸多挑战&#xff0c;如信息记录不准确、服务流程难以标准化、客户反馈收集困难等。语音工牌作为一种创新的智能设备&#xff0c;凭借其独特的功能和…

Office 2021 mac/win版:智慧升级,办公新风尚

Office 2021是微软公司推出的一款高效、智能且功能丰富的办公软件套件。它集成了Word、Excel、PowerPoint等多个经典应用程序&#xff0c;旨在为用户提供更出色的办公体验。 Office 2021 mac/win版获取 Office 2021在继承了前代版本优点的基础上&#xff0c;进行了大量的优化…

接口测试之用Fiddler对手机app进行抓包

Fiddler是一款非常流行并且实用的http抓包工具&#xff0c;它的原理是在本机开启了一个http的代理服务器&#xff0c;然后它会转发所有的http请求和响应&#xff0c;因此&#xff0c;它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此&#xff0c;它还可以支持…

JVC摄像机SD卡变成RAW的恢复方法

JVC小日本胜利公司&#xff0c;公司名字绕口且产品线极广&#xff0c;涉及汽车、影音、娱乐……&#xff0c;而JVC在摄像机产品方面也有涉及&#xff0c;不过市场上极为少见。下边我们来看下这个JVC摄像机MP4恢复案例。 故障存储: 32G存储卡 RAW文件系统 故障现象: 客户无…

万字长文讲解如何快速搭建一个Spring Cloud项目

文章目录 概念基本概念微服务七大组件 初始化Maven父工程整合注册中心组件整合远程调用与负载均衡组件组件整合网关组件整合配置中心组件以gateway模块为例 整合分布式事务组件操作数据库模拟创建订单和扣减库存整合Seata 整合熔断降级组件整合链路追踪组件源码地址参考来源 概…