草庐IT

long-integer

全部标签

c++ - 为什么gcc会有一个long long的警告?

-Wlong-long的原因是什么?gcc警告?来自gcc手册页:-Wlong-longWarniflonglongtypeisused.Thisisenabledbyeither-Wpedanticor-WtraditionalinISOC90andC++98modes.Toinhibitthewarningmessages,use-Wno-long-long.据我了解,longlong要求至少为64位(实际上它总是64位,至少在今天的编译器中是这样)。这不是ISOC90或C++98的情况,还是有其他不使用longlong的原因??我知道类型如int64_t和friend,但一些不太

c++ - 为什么gcc会有一个long long的警告?

-Wlong-long的原因是什么?gcc警告?来自gcc手册页:-Wlong-longWarniflonglongtypeisused.Thisisenabledbyeither-Wpedanticor-WtraditionalinISOC90andC++98modes.Toinhibitthewarningmessages,use-Wno-long-long.据我了解,longlong要求至少为64位(实际上它总是64位,至少在今天的编译器中是这样)。这不是ISOC90或C++98的情况,还是有其他不使用longlong的原因??我知道类型如int64_t和friend,但一些不太

c++ - C 和 C++ 中的 1LL 或 2LL 是什么?

我正在查看GoogleCodeJam中的一些解决方案,并且有些人使用了我以前从未见过的这些东西。例如,2LL*r+1LL2LL和1LL是什么意思?它们的包含如下所示:#include#include#define_USE_MATH_DEFINES或#include 最佳答案 LL使longlong类型的整数文字。所以2LL,是longlong类型的2。如果没有LL,文字只能是int类型。当你做这样的事情时,这很重要:1仅使用文字1,(假设int为32位,您将超出整数类型的大小->未定义行为)。使用1LL,您事先将类型设置为longl

c++ - C 和 C++ 中的 1LL 或 2LL 是什么?

我正在查看GoogleCodeJam中的一些解决方案,并且有些人使用了我以前从未见过的这些东西。例如,2LL*r+1LL2LL和1LL是什么意思?它们的包含如下所示:#include#include#define_USE_MATH_DEFINES或#include 最佳答案 LL使longlong类型的整数文字。所以2LL,是longlong类型的2。如果没有LL,文字只能是int类型。当你做这样的事情时,这很重要:1仅使用文字1,(假设int为32位,您将超出整数类型的大小->未定义行为)。使用1LL,您事先将类型设置为longl

c++ - 这个语句*(long*)0=0;的作用是什么?

在下面的代码中,*(long*)0=0;与if子句一起使用,但它的作用是什么?if(r.wid*r.ht 最佳答案 它将0写入0,解释为long的地址,即NULL指针。这不是一件有效的事情,因为NULL绝不是您可以有效地拥有程序可以访问的数据的地址。此代码触发未定义的行为;一般来说,你不能依赖它来产生任何特定的效果。然而,经常使用这样的代码来强制segmentationfault-typecrash,有时可以方便地放入调试器中。同样,这是未定义的行为;不能保证它会导致这样的错误,但是在有段错误的系统上,上面的代码很可能会产生一个。在

c++ - 这个语句*(long*)0=0;的作用是什么?

在下面的代码中,*(long*)0=0;与if子句一起使用,但它的作用是什么?if(r.wid*r.ht 最佳答案 它将0写入0,解释为long的地址,即NULL指针。这不是一件有效的事情,因为NULL绝不是您可以有效地拥有程序可以访问的数据的地址。此代码触发未定义的行为;一般来说,你不能依赖它来产生任何特定的效果。然而,经常使用这样的代码来强制segmentationfault-typecrash,有时可以方便地放入调试器中。同样,这是未定义的行为;不能保证它会导致这样的错误,但是在有段错误的系统上,上面的代码很可能会产生一个。在

c++ - C++11 的 long long 真的至少 64 位吗?

上面写着onwikipedia和inStroustrup'sFAQ该类型longlong至少与int一样长并且具有不少于64位。我一直在查看C++11标准§3.9.1基本类型部分,但找不到任何对64位的引用。我所能找到的只是它至少与longint一样长,它至少与int一样长。标准将longlong列为standard整数类型,而不是extended类型,所以我想知道这个断言是否longlong持有至少64位为真。如果是,在哪里说明?请注意,我说的只是C++11标准longlong。 最佳答案 C++标准为此引用了C标准,请参阅[c.

c++ - C++11 的 long long 真的至少 64 位吗?

上面写着onwikipedia和inStroustrup'sFAQ该类型longlong至少与int一样长并且具有不少于64位。我一直在查看C++11标准§3.9.1基本类型部分,但找不到任何对64位的引用。我所能找到的只是它至少与longint一样长,它至少与int一样长。标准将longlong列为standard整数类型,而不是extended类型,所以我想知道这个断言是否longlong持有至少64位为真。如果是,在哪里说明?请注意,我说的只是C++11标准longlong。 最佳答案 C++标准为此引用了C标准,请参阅[c.

c++ - 为什么 C++ 要求仅针对 float、double 或 long double 实例化该复数?

根据C++ISO规范,§26.2/2:Theeffectofinstantiatingthetemplatecomplexforanytypeotherthanfloat,doubleorlongdoubleisunspecified.为什么标准作者会明确添加此限制?这使其未指定,例如,如果您制作complex会发生什么?或complex而且似乎是人为的限制。这种限制有什么原因吗?如果要实例化complex是否有解决方法?使用您自己的自定义类型?我问这个问题主要是因为thisearlierquestion,其中OP对为什么abs感到困惑为complex提供了奇怪的输出.也就是说,这仍然

c++ - 为什么 C++ 要求仅针对 float、double 或 long double 实例化该复数?

根据C++ISO规范,§26.2/2:Theeffectofinstantiatingthetemplatecomplexforanytypeotherthanfloat,doubleorlongdoubleisunspecified.为什么标准作者会明确添加此限制?这使其未指定,例如,如果您制作complex会发生什么?或complex而且似乎是人为的限制。这种限制有什么原因吗?如果要实例化complex是否有解决方法?使用您自己的自定义类型?我问这个问题主要是因为thisearlierquestion,其中OP对为什么abs感到困惑为complex提供了奇怪的输出.也就是说,这仍然