相关疑难解决方法(0)

201
推荐指数
6
解决办法
6万
查看次数

C++中的int和long有什么区别?

如果我错了,纠正我,

int是4个字节,从-2,147,483,648到2,147,483,647(2 ^ 31)
长的值范围是4个字节,值范围从-2,147,483,648到2,147,483,647(2 ^ 31)

C++有什么区别?它们可以互换使用吗?

c++ variables

113
推荐指数
9
解决办法
10万
查看次数

长对齐多少字节?

多少字节是unsigned long long?它是一样的unsigned long long int吗?

c++

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

为什么C++ int和long类型都是4个字节?

许多来源,包括微软,都将int和long类型都引用为4个字节,并且范围为(带符号)-2,147,483,648到2,147,483,647.如果实际上没有提供更大范围的值,那么拥有长基本类型有什么意义呢?

c++ cpu-architecture

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

C++ std :: string的长度,以字节为单位

我在弄清楚确切的语义时遇到了一些麻烦std::string.length().该文件明确指出,length()返回字符的字符串中而且数量不是字节数.我想知道在哪些情况下这实际上有所作为.

特别是,这只与非char实例化相关,std::basic_string<>或者在存储具有多字节字符的UTF-8字符串时是否也会遇到麻烦?标准是否允许length()UTF8感知?

c++ string stdstring

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

什么是'长'数据类型用于什么?

我已经用C++编程了很长一段时间,而且我对大多数东西非常熟悉.我从未理解的一件事是"长"数据类型.

我用Google搜索,但我仍然不知道它是什么.我发现页面说它的大小相同,并且与int的范围相同.那么使用它有什么意义呢?

我在这里发现了另一个堆栈溢出问题: long和int数据类型之间的区别

似乎两者之间的唯一区别是有时在不同系统上的大小不同.这是否意味着在64位机器上使用long的应用程序无法在32位机器上运行?如果是这样,那么根本不使用它们会不会更好?

我还注意到了一些名为"long int"甚至"long long"的东西!它是数据类型还是修饰符?

c++ types long-integer

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

将int转换为指针 - 为什么要先转换为long?(如在p =(void*)42;)

GLib文档中,有一章关于类型转换宏.在关于转换int*void指针的讨论中,它说(强调我的):

天真的,你可以试试这个,但这是不正确的:

gpointer p;
int i;
p = (void*) 42;
i = (int) p;
Run Code Online (Sandbox Code Playgroud)

同样,该示例不正确,请勿复制.问题是在某些系统上你需要这样做:

gpointer p;
int i;
p = (void*) (long) 42;
i = (int) (long) p;
Run Code Online (Sandbox Code Playgroud)

(来源:GLib参考手册GLib 2.39.92,章节类型转换宏).

为什么演员long必要?

是否需要加宽int不作为指针演员的一部分自动发生?

c int pointers casting long-integer

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

初学者:我应该开始高水平还是低水平?

我对编程比较陌生,希望能够为Linux和Windows制作原生C++程序.

我只是想知道作为一个初学者我应该首先学习低级语言,比如C和Vim中的汇编,还是我应该直接从带有C++的IDE开始?

c c++ ide vim

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

c ++最大数字类型

可能重复:
int,long等的大小
`long`保证至少为32位?

我想找出我的计算机的每种数据类型的最大值.代码是:

int main() {
    using namespace std;
    cout << numeric_limits<int>::max() << endl;
    cout << numeric_limits<long>::max() << endl;
    cout << numeric_limits<long long>::max() << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

打印:

2147483647
2147483647
9223372036854775807
Run Code Online (Sandbox Code Playgroud)

问题1:为什么intlong相同?

问题2:上面的输出来自64位的VS2010.我的c ++程序是否以64位运行?

c++

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