小编Nau*_*us1的帖子

为什么stant :: string在用户输入中占用空格?

直接问题:

这段代码,

#include <iostream>
using namespace std;

int main() {
    std::string string = "9 9";
    std::cout << string;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

9 9作为输出返回.

但是,在输入9 9此代码时,

#include <iostream>
using namespace std;

int main() {
    std::string string;
    std::cin >> string;
    std::cout << string;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它输出9.为什么会这样?

我想这与空间有关,但有什么办法可以避免这种情况吗?我必须说空间是数字之间唯一有效的分离.

c++ string spaces tokenize

3
推荐指数
1
解决办法
594
查看次数

类型转换是否会使程序运行缓慢?

标题很明显.在我的例子中,为了简单起见,我避免使用例如unsigned int而不是int,因为它使编码更快更简单.(顺便说一句,我使用的是Android IDE,CppDroid)

然而,IDE经常提醒我隐式转换,例如,For循环,其中递增的变量(int)与向量的大小(size_t/unsigned int)进行比较.

我的问题是:类型转换需要时间吗?如果是这样,与其他常见操作相比,它们需要多长时间?在转换确实需要一些时间的情况下,是否值得正确定义变量以避免转换?

c++ type-conversion

1
推荐指数
1
解决办法
318
查看次数

标签 统计

c++ ×2

spaces ×1

string ×1

tokenize ×1

type-conversion ×1