草庐IT

int_void

全部标签

基于另一列中的str中的str中添加int值

我正在尝试编写一个代码,该代码将加起来每个状态中的所有“计数”。这是我的.dbf(CSV)文件的示例。CountLatLonindex_righSTATE134531.551580000000000-88.4483800000000001992Alabama44531.999867999999900-88.4045430000000001992Alabama29932.448521000000000-88.3601960000000001992Alabama10632.897511999999900-88.3153290000000001992Alabama22933.346817000000

c++ - static_cast wchar_t* 到 int* 或 short* - 为什么它是非法的?

在MicrosoftVC2005和g++编译器中,以下会导致错误:在win32VC2005上:sizeof(wchar_t)为2wchar_t*foo=0;static_cast(foo);结果errorC2440:'static_cast':cannotconvertfrom'wchar_t*'to'unsignedshort*'...在MacOSX或Linuxg++上:sizeof(wchar_t)为4wchar_t*foo=0;static_cast(foo);结果error:invalidstatic_castfromtype'wchar_t*'totype'unsignedi

c++ - 从字符串转换为 void* 并返回

是否可以从void*重新映射STL类对象?#includevoidfunc(void*d){std::string&s=reinterpret_cast(d);}intmain(){std::strings="Hi";func(reinterpret_cast(&s));} 最佳答案 使用static_cast将void指针转换回其他指针,只要确保转换回与最初使用的类型完全相同即可。无需转换即可转换为void指针。这适用于任何指针类型,包括指向标准库中类型的指针。(从技术上讲,任何指向对象类型的指针,但这就是“指针”的含义;其他类型

c++ - 如何在 C++ 中提高 int 或 long 的幂

小问题:我只是想知道,如果一个人想要将一个int或long提高到另一个int或long的幂,会吗(long)std::pow((double)a,(double)b)够用还是需要(long)(0.5+std::pow((double)a,(double)b))? 最佳答案 有两个考虑因素。第一个是由于浮点表示的不精确而导致的舍入;在这种情况下这不是问题,因为只要位数少于float中的有效位数,整数就可以完美表示。如果long是32位并且doublesignificand是53位,通常情况下,不会有问题。第二个考虑因素是pow函数本身

C++:将 unsigned long long int 转换为 vector<char> ,反之亦然

谁能告诉我如何将unsignedlonglongint转换为vector,反之亦然。为了将unsignedlonglongint转换为vector,我尝试了以下操作:unsignedlonglongintx;vectorbuf(sizeof(x));memcpy(&buf[0],&x,sizeof(x));当我测试x=1234567890时,它失败了。但是当我尝试使用较小的x值(比如1-100)时,它起作用了……为了将vector转换为unsignedlonglongint,我使用了:unsignedlonglongint=(unsignedlonglongint)buf[0];谁能告

c++ - 为什么我不应该使用 vector<vector<vector<int>>>?

我刚刚阅读了一个关于初始化多维vector(question)的问题,ViktorSehr和Sbi推荐使用单个vector并使用my_vector[x+y*100+z*100*100]。为什么是这样?是出于性能原因吗?如果是这样,它如何提高性能?提前致谢,嗯。编辑:当宽度/高度/深度不同并且可以更改时,这些原因是否仍然适用? 最佳答案 只有几个原因:它浪费空间,它很慢(不可预测的内存访问,缓存浪费等),它很麻烦主要性能缺点可能是缓存。使用平面阵列,您可以保证内存是连续的——缓存很高兴。使用vector中的vector-谁知道呢!

c++ - 没有匹配函数调用 ‘begin(int**&)’

我写了一个c++程序作为fllow(3.43.cpp):#includeusingstd::cout;usingstd::endl;voidversion_1(int**arr){for(constint(&p)[4]:arr){for(intq:p){cout然后我用:gccmy.cpp-std=c++11编译它,有一个我无法处理的错误。信息:3.43.cpp:6:30:error:nomatchingfunctionforcallto‘begin(int**&)’for(constint(&p)[4]:arr){^3.43.cpp:6:30:note:candidatesare:I

c++ - 是否需要 `void_t` 来检查类是否具有具有特定签名的方法?

当我第一次学习如何检查类中的特定签名时,我被教导使用std::void_t并编写如下代码:templateclassHAS:publicfalse_type{};templateclassHAS().print())>>:publictrue_type{};这段代码将检查类是否有名为“print()”的方法。它运行良好。但是当我尝试删除std::void_t时,它仍然有效。代码如下所示:templateclassHAS:publicfalse_type{};templateclassHAS().print())>:publictrue_type{};所以我很困惑是否有必要使用“std:

c++ - 为什么我会从这个 unsigned int 中得到段错误?

我正在尝试初始化一个整数数组并将所有元素设置为1。我需要该数组的上限为4294967295,或者32位unsignedint可能的最大数.这对我来说似乎是一项微不足道的任务,但我遇到了segfault。我可以空运行for循环,它似乎工作正常(虽然速度很慢,但它正在处理近43亿个数字,所以我不会提示)。当我尝试在循环中执行任何类型的操作时,问题似乎就出现了。我在下面的指令-primeArray[i]=1;-导致segfault错误。据我所知,这不应该导致我超出阵列。如果我注释掉该行,则不会出现segfault。已经很晚了,我疲倦的眼睛可能只是遗漏了一些简单的东西,但我可以再用一双。这是我

c++ - size_t 是否总是 unsigned int

这个问题在这里已经有了答案:Differencebetweensize_tandunsignedint?(7个答案)关闭7年前。是否有任何实现将size_t定义为unsignedint以外的东西?在我工作的每个系统下,它都被定义为unsignedint,所以我很好奇。