C++ 06 之 c++增强

news2024/11/30 12:31:37

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;   // 结果为0
    flag = 0;         // 结果为0
    flag = 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; // 结果为1
    flag = false;   // 结果为0
    flag = 0;       // 结果为0
    flag = 100;     // 结果为1
    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


    
    return 0;
}

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

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

相关文章

Json-server 的使用教程

目录 前言一、简介二、安装与配置1. 安装 node-js2. npm 镜像设置3. 安装 json-server 三、使用1. 创建本地数据源2. 启动 Json Server3. 操作数据&#xff08;1&#xff09;查询数据&#xff08;2&#xff09;新增数据&#xff08;3&#xff09;修改数据&#xff08;4&#xf…

仿element-ui 实现自己组件库 <3>

目录 input 组件封装 v-model用在组件上 显示和隐藏密码 封装switch组件 实现转换的功能 设置checkbox input 组件封装 首先input组件的基本框架和样式&#xff1a; <div class"miao-input"><input class"miao-input_inner" > </div…

LDR6500:手机电脑拓展坞转接器方案的卓越之选

随着科技的飞速发展&#xff0c;手机和电脑已成为我们日常生活中不可或缺的工具。然而&#xff0c;它们的接口有限&#xff0c;经常难以满足我们多样化的需求。这时&#xff0c;一款高效、稳定的拓展坞转接器就显得尤为重要。LDR6500&#xff0c;作为乐得瑞科技精心研发的USB P…

HCIA12 NAT网络地址转换实验

NAT&#xff08;Network Address Translation&#xff09;是将 IP 报头中的 IP 地址转换为另一个 IP 地址的过程。主要俩好处&#xff1a; • 有效避免来自外网的攻击&#xff0c;可以很大程度上提高网络安全性。 • 控制内网主机访问外网&#xff0c;同时也可以控制外网…

微信鸿蒙版本来了 我不允许你不会

前言: 各位同学大家好, 好久没有更新鸿蒙文章了 现在更新一个鸿蒙版本高仿微信版本 那么废话不多说 我们正式开始 作者:徐庆 团队:坚果派 公众号:“大前端之旅” 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布…

SQLServer 借助Navcate做定时备份的脚本

首先创建SQLServer链接&#xff0c;然后在Query标签种创建一个查询 查询内容如下 use ChengYuMES declare ls_time varchar(1000) declare ls_dbname varchar(1000) set ls_time convert(varchar, getdate(), 112) _ replace(convert(varchar, getdate(), 108), :, )-- 需…

51单片机STC89C52RC——代码编译

1&#xff0c;勾选 “Create HEX file” 2&#xff0c;编译

周五美国股市总结,标普止步四日连涨,纳指五日连创新高,法股单周跌幅两年多最深

美国消费者信心意外下滑至七个月新低&#xff0c;通胀预期反弹&#xff0c;标普大盘脱离历史最高&#xff0c;道指连跌四日&#xff0c;罗素小盘股跌至六周新低&#xff0c;有分析称对经济担忧浮现。全周标普和纳指分别累涨1.6%和3.2%&#xff0c;都是八周里第七周上涨&#xf…

大模型+人工智能:重塑地方志管理的新力量

前言 在科技日新月异的今天&#xff0c;人工智能&#xff08;AI&#xff09;正以前所未有的速度渗透到各个领域&#xff0c;改变着我们的工作和生活方式。特别是在地方志管理这一领域&#xff0c;大模型和人工智能的结合正在开启一场深刻的变革。今天&#xff0c;就让我们一起…

SpringBoot3 整合 Mybatis 完整版

本文记录一下完整的 SpringBoot3 整合 Mybatis 的步骤。 只要按照本步骤来操作&#xff0c;整合完成后就可以正常使用。1. 添加数据库驱动依赖 以 MySQL 为例。 当不指定 依赖版本的时候&#xff0c;会 由 springboot 自动管理。 <dependency><groupId>com.mysql&l…

代码随想录的复习刷题计划1 :动态规划背包问题 01背包+完全背包

动态规划刷题复习 一、01背包 416. 分割等和子集1049. 最后一块石头的重量 II494. 目标和474. 一和零 416. 分割等和子集 class Solution { public:bool canPartition(vector<int>& nums) {int sum0;for(int i0;i<nums.size();i) {sumnums[i];}if(sum%2!0)retu…

腾讯大模型最新路线图,主打一个“实用”

让大模型更接地气&#xff0c;腾讯交出一份阶段性答卷。 大模型狂奔一年多后&#xff0c;正迈向产业落地的深水区。如何用好这一革命性的新技术&#xff0c;已成为整个社会的一道必答题。 去年&#xff0c;国内大模型百花齐放&#xff0c;外界关注的焦点也集中在模型能力上。…

Win11 问题集

文章目录 一、Win11 选择其他应用打开无反应1、新建 1.reg 文件2、新建 2.reg 文件3、运行 reg 文件 二、Win11 账户怎么改名 一、Win11 选择其他应用打开无反应 Win11选择打开方式卡死怎么办? 选择打开方式没有反应的解决办法 1、新建 1.reg 文件 1.reg Windows Registry…

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(一)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求&#xff0c;是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具&#xff0c;可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…

计算机木马

病毒具有传播特性、恶意性 木马没有巨大的恶意&#xff0c;主要是帮黑客做些事情&#xff0c;没害你&#xff0c;没有那么广大的传播性

LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码

LIMS&#xff08;实验室&#xff09;信息管理系统源码、有哪些应用领域&#xff1f;采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码 LIMS实验室信息管理系统&#xff0c;是一种基于计算机硬件和数据库技术&#xff0c;集多个功能模块为一体的信息管理系统。该系统主…

有监督学习——梯度下降

1. 梯度下降 梯度下降&#xff08;Gradient Descent&#xff09;是计算机计算能力有限的条件下启用的逐步逼近、迭代求解方法&#xff0c;在理论上不保证下降求得最优解。 e.g. 假设有三维曲面表达函数空间&#xff0c;长(x)、宽(y)轴为子变量&#xff0c;高(z)是因变量&…

【已解决】引入 element 组件无法使用编译错误 ERROR Failed to compile with 1 error

如果大家使用这个vue 配合 element 框架不熟练&#xff0c;当你顺利按照文档安装好 vue 和 element 的时候想要使用element 的组件时候确无法展示出来&#xff0c;甚至报错。不妨看看是不是这个问题&#xff0c; 1.首先使用element 的时候&#xff0c;前提是把必须要的 elemen…

博科SAN交换机初始化和Zone创建

1 初始化 博科的SAN交换机默认配置&#xff1a; 地址&#xff1a;10.77.77.77 账户&#xff1a;admin 密码&#xff1a;password 设备硬件查看 ***-SAN-1:admin> chassisshowFAN Unit: 1 Fan Direction: Reverse (Non-portside Intake) Time Awake: 0 daysP…

基于Python+Flask+MySQL+HTML的B站数据可视化分析系统

FlaskMySQLVue 基于PythonFlaskMySQLHTML的B站数据可视化分析系统 项目采用前后端分离技术&#xff0c;项目包含完整的前端HTML&#xff0c;以及Flask构成完整的前后端分离系统 爬虫文件基于selenium&#xff0c;需要配合登录账号 简介 主页 登录页面&#xff0c;用户打开浏…