C++不断学习

1.fixed

fixed,它表示浮点输出应该以固定点或小数点表示法显示。当然,fixed 操作符可能最重要的还是当它与 setprecision 操作符一起使用时,setprecision 即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。而这通常正是我们想要的。不过,别忘记了包含头文件#include <iomanip> 。

例子ACwing-数的三次方根

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    double n;
    scanf("%lf",&n);
    double l = -1e4, r = 1e4;
    double x;
    while(r - l > 1e-8)
    {
        x = (l + r)/2;
        if(x*x*x >= n)r = x;
        else l = x;
    }
    cout  <<fixed<< setprecision(6)<< x;
    return 0;
}

2sizeof和size

sizeof(a)返回的是对象占用内存的字节数,而a.size()是string类定义的一个返回字符串大小的函数,两个是完全不一样的概念。

明确两者的概念和作用:

1、size()函数:

c++中,在获取字符串长度时,size()函数与length()函数作用相同。 除此之外,size()函数还可以获取vector类型的长度。 

例如:vector < int> num(15,2) ,则:num.size() = 15。

size是由string vector 和bitset定义的函数,分别用于返回字符个数,元素个数和二进制位的数。string和vector的size成员函数用以返回size_type类型的值。bitset返回size_t的值。

2、sizeof():

sizeof()运算符用来求对象所占内存空间的大小。

sizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。

它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。

 

posted @ 2023-12-20 14:11  Yuxi001  阅读(9)  评论(0编辑  收藏  举报