草庐IT

unsigned-long-long-int

全部标签

c++ - 从零到定义的数字填充int数组

我需要在C++中从零到变量定义的数字填充int[]数组,但ISOC++禁止可变长度数组...如何轻松填充数组?我需要分配/释放内存吗?intpossibilities[SIZE];unsignedinti=0;for(i=0;i顺便说一句。如果你会问-是的,我需要完全标准的int[]数组,没有vector,没有map等。 最佳答案 在C++11中,您可以使用std::iota和std::array。下面的示例使用1到10之间的值填充大小为10的数组。std::arraya;std::iota(a.begin(),a.end(),1)

c++ - (cin >> int).get() 在 Xcode(4.3.3) 中无法正常工作

我目前正在编写“C++PrimerPlus”一书并进行一些编程练习。看起来,我在使用Xcode(4.3.3)时遇到问题,因为以下代码无法正常工作:#include#includestructcar{std::stringmaker;intyear;};intmain(){usingnamespacestd;cout>nCars).get();car*aCars=newcar[nCars];for(inti=0;imaker);cout>(aCars+i)->year).get();}coutyearmaker问题是,我没有机会进入任何制造商。该程序直接转到我必须输入年份的位置,即使我使

c++ - 为什么 Visual Studio 不在 self 赋值时发出警告 (int foo = foo;)

我在重构一个出现了无数次的术语时不小心产生了如下代码中的情况:#include"stdafx.h"#includeintfoo=foo;//Byreplacingwiththefollowinginstructionwecausesacompileerror//intfoo(foo);int_tmain(intargc,_TCHAR*argv[]){intbar=bar;std::cout对于不同的调试和发布配置,编译器对intfoo=foo;保持沉默。我看不出这种说法不是等待发生的错误。VisualStudio编译器不应该发出警告吗?我并不是假装这是未定义的行为。我的意思是,默认情况

c++ - 为什么 UuidFromString 函数请求非常量指针指向 unsigned char?

我不知道为什么UuidFromString函数需要非常量指向无符号字符的指针。为什么不用constchar*代替呢?我的想法是不需要修改第一个参数所指出的数据。 最佳答案 UuidFromString专为COM/DCOM而设计。unsignedchar是为了防止需要检查负数char值(默认char是signed,这意味着值的范围是[-128,127]-因为这个字符串应该是ANSI字符,这是避免条件检查的一种廉价方法)。它的姊妹函数(UuidToString)确实需要一个const输入参数。我在文档中看不到关于为什么UuidFromS

c++ - 具有 Boost 格式的 int 特征向量的格式化 cout

我想使用boost::format计算int的特征向量,使数字右对齐。到目前为止,我有以下代码intmain(){vectorfoo;Vector3ibar;bar输出是-1-10000但我希望有以下输出-1-10000如果我修改for中的格式和代码,我可以达到想要的结果boost::formatheader2("%2d%2d%2d");for(inti=0;i但是,有人能告诉我是否有更有效的方法使用boost::format来做到这一点? 最佳答案 您可以使用解决方法:boost::formatheader("%+3d");//A

c++ - 当我将大于 INT_MAX 的数字分配给 int 时会发生什么?

假设我将一个11位数字赋给一个int,会发生什么?我稍微玩了一下,我知道它在int范围内给了我一些其他数字。这个新号码是如何创建的? 最佳答案 这是实现定义的行为。这意味着您的编译器必须提供说明在这种情况下发生的情况的文档。因此,请查阅该文档以获得答案。实现定义它的一种常见方法是将输入整数截断为int的位数(如有必要,在将无符号重新解释为有符号之后)。C++14标准引用:[expr.ass]/3,[conv.integral]/3 关于c++-当我将大于INT_MAX的数字分配给int时

c++ - 理解 double-to-int 转换中的 int-vs-trunc 关系

当我运行以下代码时#include#includeusingnamespacestd;intmain(){enum{FACTOR=3};doubled=1.0/FACTOR;doubled_i=int(d*FACTOR);inti_t=std::trunc(d*FACTOR);doubled_r=std::round(d*FACTOR);cout在Code::Blocks17.12IDE中(使用我认为/希望的全包工具),我得到了这些令人困惑的结果:0vs1vs1我尝试更改编译器,但没有任何改变。最后我安装了MinGW-64版本8.1.0。我的构建日志显示--------------Cl

c++ - 将 python 列表包装为 unsigned char*

编辑:大家好!!我目前正在尝试从Python访问C++函数,当我尝试将Python列表作为参数传递给函数时遇到了问题。这是我试图访问的C++函数定义(用于向PC/SC阅读器发送命令):SRpdu*SendAPDU(unsignedintuiAPDU,//CommandunsignedintucLE,//DataexpectedforresponseunsignedintucLC,//Sizeofdatabufferunsignedchar*pucDataBuf=0);//databuffer我的目标是像下面的示例一样从python调用此函数。目标是将列表[1,2,3]转换为unsign

c++ - wchar_t 与 unsigned short 冲突

我正在将我们的库更新到较新的版本,但遇到了编译错误:ClassName&ReturnClass::FuncName(wchar_t*,size_t)':memberfunctionalreadydefinedordeclared然而它之前是这样定义的:ClassName&ReturnClass::FuncName(unsignedshort*,size_t)'我们将wchar_t作为unsignedshort的typedef,这似乎是导致问题的原因。我曾尝试使用编译器选项wchar_t,但是当它看到typedef时,会导致库中出现大量错误。我正在使用nmake在Windows和MSDE

c++ - Boost.Multiprecision cpp_int - 转换成字节数组?

http://www.boost.org/doc/libs/1_53_0/libs/multiprecision/doc/html/index.html我刚刚开始探索这个图书馆。似乎没有办法将cpp_int转换为字节数组。有人能看到这样的功能吗? 最佳答案 这是无证方式。cpp_int的后端有limbs()成员函数。此函数返回内部字节数组值。#include#includenamespacemp=boost::multiprecision;intmain(){mp::cpp_intx("11111111112222222222333