相关疑难解决方法(0)

"std :: size_t"在C++中有意义吗?

在一些代码,我继承,我看到经常使用size_tstd命名空间限定词.例如:

std::size_t n = sizeof( long );
Run Code Online (Sandbox Code Playgroud)

当然,它编译并运行良好.但对我来说这似乎是不好的做法(也许是从C继承下来的?).

是不是真的size_t是内置到C++中,因此在全局命名空间中?是否需要size_t在C++中使用头文件?

提出这个问题的另一种方法是,是否需要在所有C++编译器上编译以下程序(没有包含)?

size_t foo()
{
    return sizeof( long );
}
Run Code Online (Sandbox Code Playgroud)

c++ size-t

58
推荐指数
3
解决办法
3万
查看次数

C ++布尔数组初始化

我想将我的二维布尔数组中的所有元素初始化为false。

size_t n, m;
cin >> n >> m;
bool arr[n][m] = {false};
for(size_t i = 0; i < n; i++){
    for(size_t j = 0; j < m; j++){
        cout << arr[i][j] << " ";
    }
    cout << endl;
}
Run Code Online (Sandbox Code Playgroud)

但是我对输出感到非常困惑。例如,如果n = 5且m = 5,则我具有以下内容:

0 27 64 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

那么,代码有什么问题呢?

c++ arrays boolean initialization

3
推荐指数
2
解决办法
3万
查看次数

如何计算单个字母的出现次数

任务:编写一个程序,读取一行文本并输出每个字母的出现次数.

#include <iostream>
#include <string>
#include <cstring>
#define N 100
using namespace std;
int main()
{
    char alphabet[27] = "abcdefghijklmnopqrstuvwxyz";
    int alphacount[26];
    char lot[N], *p1;
    int txtlen, *p2;

    cout << " Enter a line of text: " << endl;
    cin.getline(lot, 99);

    txtlen = strlen(lot);

    p1 = lot;
    p2 = &txtlen;

    for (int x = 0; x < *p2; x++)
    {
        for (int y = 0; y < 26; y++)
        {
            if (*p1 == alphabet[y])
            {
                alphacount[y]++;
                p1++;
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c++

-2
推荐指数
1
解决办法
495
查看次数

标签 统计

c++ ×3

arrays ×1

boolean ×1

initialization ×1

size-t ×1