C ++基础 | sizeof函数(endl 和 "\ n"),定义常量(Define Constants),枚举常量(Enumerated Constants)_2

目录

sizeof函数(endl 和 "\ n")

定义常量

枚举常量


sizeof函数(endl 和 "\ n")

与其他编程语言一样,在内存中分配变量的大小取决于其类型。 要确定每个变量类型使用的字节数,C ++提供函数sizeof(variableType)。您将使用以下命令: 

sizeof(variable type) ie: sizeof(int)

打印出变量类型时,您可能希望将它们打印出来,每行一个。 为此,请在要打印的文本末尾添加 " \n " 或 " endl "。例如:

cout<<"int size = "<<sizeof(int)<<"\n";

第二种选择是:" endl "

cout<<"int size = "<<sizeof(int)<<endl;

在许多情况下,endl 和 "\ n" 将执行相同的功能。 有些情况会有所不同(Copy网友一个说法):

1。在C ++ 中,终端输出换行时,用 cout<<......<<endl 与 “\n” 都可以,这是初级的认识。但二者有小小的区别,用 endl 时会刷新缓冲区,使得栈中的东西刷新一次,但用 "\n" 不会刷新,它只会换行,栈内数据没有变化。但一般情况,二者的这点区别是很小的,在大的程序中可能会用到。 建议用 endl 来换行。


2。endl 除了写 '\n' 进外,还调用 flush函数,刷新缓冲区,把缓冲区里的数据写入文件 或 屏幕。考虑效率就用 '\n' 。


3。cout << endl;除了往输出流中插入一个 '\n' 还有刷新输出流的作用。cout << endl;等价于:cout << '\n' << flush;
在没有必要刷新输出流的时候应尽量使用 cout << '\n' ,过多的 endl 是影响程序执行效率低下的因素之一。.

练习:

#include <iostream>
int main()
{
    using namespace std;
    cout << "size of int : " << sizeof(int) << endl;
    cout << "size of shor :" << sizeof(short int) << endl;
    cout << "size of long :" << sizeof(long int) << endl;
    cout << "size of char :" << sizeof(char) << endl;
    cout << "size of char :" << sizeof(float) << endl;
    cout << "size of char :" << sizeof(double) << endl;
    cout << "size of char :" << sizeof(bool) << endl;
    return 0;
}

 输出:

定义常量

 在C ++中,我们可以将变量定义为常量。 我们使用关键字 ' const ' 来定义常量。例如:

const int weightGoal = 100;

使用此语句,我们将整数 weightGoal 设置为100。在程序期间无法更改。 如果要更改 weightGoal 的值,则必须编辑源代码并重新编译它。以下代码看到我们尝试更改常量变量失败:

#include <iostream>
using namespace std;

int main()
{
    const int weightGoal = 100;
    cout<<"WeightGoal = "<<weightGoal<<"\n";
    weightGoal = 200;
    cout<<"WeightGoal = "<<weightGoal<<"\n";
    return 0;
}

输出:

 枚举常量

C ++还允许枚举常量。 这意味着我们可以创建一个新的变量类型,然后为其分配有限数量的值。 这是 enum 关键字的形式:

enum type_name {
  value1,
  value2,
  value3,
  .
  .
} object_names;

例如:

enum MONTH {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec};

在此示例中,枚举变量 MONTH 具有十二个可能的值。 这12个值转换为12个整数值。

Jan = 0
Feb = 1
等等.

下面的程序演示了 enum 变量的用法。

#include <iostream>

using namespace std;

int main()
{
    //define MONTH as having 12 possible values
    enum MONTH {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec};
    
    //define bestMonth as a variable type MONTHS
    MONTH bestMonth;
    
    //assign bestMonth one of the values of MONTHS
    bestMonth = Jan;
    
    //now we can check the value of bestMonths just 
    //like any other variable
    if(bestMonth == Jan)
    {
        cout<<"I'm not so sure January is the best month\n";
    }
    return 0;
}

输出:

这里要注意一个问题:

就是书写枚举命名。以上代码枚举变量名是MONTH。而不是MONTHS,后面加S。为什么呢?如果我们要调用枚举变量里的某个变量就会写成:

MONTHS.Jan

MONTHS表示多个月在一起表示的意思。但如果用MONTH,MONTH表示具体某个月,就简洁很多,我们写成:

MONTH.Jan

再看一个例子:

enum Week
    {
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday
    }

在这里,Week对于星期几来说,具备复数含义。如果我们将Week修改为Day,那么调用的代码会变成如下形式:

Day.Monday

它不会比下面的代码更简洁了:

Week.Monday

编程中最没用的东西是源代码,最有用的东西是算法和数据结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值