首页 > 编程语言 >[C++]括号使用小技巧

[C++]括号使用小技巧

时间:2024-08-22 17:15:08浏览次数:8  
标签:function return 技巧 int void C++ 括号 bool

1.前言

  对于一般的赋值语法,例如

int a = 0;

  但你知道吗?使用括号可以同时写很多类型,编译器一般默认括号内最后一个类型为赋值类型,例如

//编译器会选择最后一位进行赋值
int a = (100,200,300,0);

  此时,a的值就是0。

2.改变函数返回值

  有如下三个函数,返回值类型分别为void、int、bool

void Func1()
{
    std::cout<<"this function 1 return void"<<std::endl;
    return;
}

int Func2()
{
    std::cout<<"this function 2 return int"<<std::endl;
    return 0;
}

bool Func3()
{
    std::cout<<"this function 3 return bool"<<std::endl;
    return false;
}

  然后,在main里的调用

int main()
{
    Func1();
    Func2();
    Func3();
    
    return 0;
}

  结果如下:  

  this function 1 return void
  this function 2 return int
  this function 3 return bool

  然后对它们进行改动一下

int main()
{
    Func1();
    Func2();
    Func3();

    std::cout<<"================================================================"<<std::endl;

    int ret1 = (Func1(),100);
    std::cout<<"ret1 value: "<<ret1<<std::endl;

    bool ret2 = (Func2(),false);
    std::cout<<"ret2 value: "<<ret2<<std::endl;

    float ret3 = (Func3(),true);
    std::cout<<"ret3 value: "<<ret3<<std::endl;


    return 0;
}

  然后结果就变成了

  this function 1 return void
  this function 2 return int
  this function 3 return bool
  ================================================================
  this function 1 return void
  ret1 value: 100
  this function 2 return int
  ret2 value: 0
  this function 3 return bool
  ret3 value: 1

标签:function,return,技巧,int,void,C++,括号,bool
From: https://www.cnblogs.com/pangcoder66/p/18374368

相关文章

  • C++ SPFA算法解析
    前言将了解C++求最短路中SPFA的算法SPFASPFA的一些说明SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进入Queue的次数,且k一般<=2,但此处的复杂度证明是有问题的,其实SPFA的最坏情况应该是O(VE).!引例:输入格式给出一个有向图,请输出从......
  • C++ 中几种类型转换
    C++中常用的类型除了隐式转换,还有显示转换,如:static_cast,dynamic_cast,const_cast,reinterpret_cast。其中隐式转换如常见的double、int、bool、float等类型之间的转换。显示转换的用法具体如下:一、static_cast:静态转换使用条件:(1)用于不同类型之间的转换,相当于隐式转换......
  • C++版的Minecraft
    非常垃圾的c++版Mc.#include<bits/stdc++.h>#include<windows.h>#include<conio.h>usingnamespacestd;typedefstructFrame{COORDposition[2];}Frame;voidColor(inta){//白if(a==0)SetConsoleTextAttribute(GetStdHandle(STD_O......
  • Day03_0.1基础学习MATLAB学习小技巧总结(3)——矩阵的创建、引用和线性索引。
    利用暑假的时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。素材来源“数学建模清风”特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以......
  • Day05_0.1基础学习MATLAB学习小技巧总结(5)——矩阵篇
    利用暑假的时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。素材来源“数学建模清风”特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移......
  • 【C++】定义类型别名的三种方式及其优缺点:typedef,#define 和 using
    引言类型别名是一种给已存在的类型创建一个新名字的方式。这个新的名字(别名)和原类型在语义上是完全相等的,可以在任何原类型可以使用的地方使用。类型别名并不创建一个新的类型,只是为了提高代码的可读性和可维护性。在C++中,可以使用typedef,#define或者using来定义别名。每......
  • C++(typename)
    目录1.指定依赖于模板参数的类型2.定义嵌套依赖类型3.关键点:4.示例:5.需要注意的地方:总结:在C++中,typename是一个关键字,通常用于模板编程。它主要用于以下两种场景:1.指定依赖于模板参数的类型当你在模板中使用依赖于模板参数的类型时,C++编译器有时无法确定你是否指的是......
  • 【C++】类和对象(上)
    前言:上一章讲到C++入门的基础知识,是为了增加对C++的了解,为了更好的学习接下来的内容,本章讲到类和对象(上)。类是一种抽象的数据类型,它定义了一组具有相同属性和行为的对象的模板。[!NOTE]问题:C语言和C++语言的主要区别?C语言是面向过程的语言,C++是面向对象的语言。C语......
  • React Hooks 的一些使用小技巧
    前言大家好,我是晓羽,文末有我帮助500+名同学完成改造的前端文章!欢迎大家观看~useState回调函数参数用法: 能够给useState通过回调函数的形式给useState提供初始参数。介绍: useState的参数可以有两种形式:1.useState(普通的数据)=>useState(0)/useState('abc')2.......
  • 关于C++函数返回值的拷贝优化问题
    在传统C++程序中,如果函数的返回值是一个对象的话,可能需要对函数中的局部对象进行拷贝。如果该对象很大的话,则程序的效率会降低。在C++11以后,出现的移动语义(MoveSemantic)及拷贝优化(CopyElision)都是解决这个问题的方法。本文试图以一个最简单的例子来说明这个问题。案例下面来看......