小编jm1*_*890的帖子

错误:未在此范围内声明'INT32_MAX'

我收到了错误

error: 'INT32_MAX' was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

但我已经包括在内了

#include <stdint.h>
Run Code Online (Sandbox Code Playgroud)

我正在使用命令编译(g ++(GCC)4.1.2 20080704(Red Hat 4.1.2-44))

g++ -m64 -O3 blah.cpp
Run Code Online (Sandbox Code Playgroud)

我需要做任何其他事情才能编译吗?还是有另一种C++方式来获取常量" INT32_MAX"?

谢谢,如果有什么不清楚,请告诉我!

c++

30
推荐指数
4
解决办法
5万
查看次数

解除内存需要时间吗?

我有一个C++程序,在执行期间,将分配大约3-8Gb的内存来存储哈希表(我使用tr1/unordered_map)和各种其他数据结构.

但是,在执行结束时,返回shell之前会有很长的停顿时间.

例如,在我的主要功能的最后,我有

std::cout << "End of execution" << endl;
Run Code Online (Sandbox Code Playgroud)

但是我的程序执行会像

$ ./program
do stuff ...
执行结束
[可能长达2分钟的停顿]
$ - 返回shell

这是预期的行为还是我做错了什么?

我猜这个程序最终会释放内存.但是,当您关闭应用程序时,使用大量内存的商业应用程序(如photoshop)不会出现此暂停.

请指教 :)

编辑:最大的数据结构是一个unordered_map键入string和存储listintegers.

g++ -O2在linux上使用,我使用的计算机有128GB的内存(其中大部分是免费的).有一些巨大的物体

解决方案:我最终摆脱了哈希表,因为它几乎已经满了.这解决了我的问题.

c++ linux memory memory-management

13
推荐指数
5
解决办法
5022
查看次数

Java nio:如何将扩展添加到绝对路径?

这感觉它应该是直截了当的东西,但我似乎可以找到一个优雅的解决方案,而无需转换File.

给出一个 Path

Path path = Paths.get("/a/b/foo")
Run Code Online (Sandbox Code Playgroud)

怎么做路径/a/b/foo.barsubpath无论原始路径是相对路径还是绝对路径,都将返回相对路径.

我宁愿不必使用额外的库.但是,也许这是唯一的方法?

java nio path

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

为什么FILE全部大写如FILE*?

这对我来说似乎很奇怪,其他大多数都是小写的.

有一些历史原因吗?

c history

12
推荐指数
2
解决办法
2576
查看次数

按位NOT(〜)的奇怪行为

我该如何解释以下行为?

#include<iostream>

using namespace std;

int main(){

       unsigned char a = 8;

       cerr << "a: " << (int)a << '\n';

       unsigned char b = (~a) >> 6;

       cerr << "b: " << (int)b << '\n';

       unsigned char c = (~a);
       c = c >> 6;

       cerr << "c: " << (int)c << '\n';

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

输出:

a: 8
b: 255
c: 3
Run Code Online (Sandbox Code Playgroud)

经过进一步的测试,似乎(~a)变成了int而不是unsigned char.这就是为什么它1会被转移的原因.

这是怎么回事?

编辑:我的编译器只是标准的gcc 4.1.2

c c++ types bit-manipulation

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

在C++中使用对象之前总是检查空指针是一种很好的编程习惯吗?

这似乎很多工作; 每次使用对象时检查null.

我被告知,检查空指针是个好主意,这样你就不必花时间寻找出现分段错误的地方.

只是想知道社区在这里想什么?

c++ null

10
推荐指数
2
解决办法
3710
查看次数

测量在C++中调用system()的执行时间

我在这里找到了一些测量执行时间的代码 http://www.dreamincode.net/forums/index.php?showtopic=24685

但是,它似乎不适用于对system()的调用.我想这是因为执行跳出当前进程.

clock_t begin=clock();

system(something);

clock_t end=clock();
cout<<"Execution time: "<<diffclock(end,begin)<<" s."<<endl;
Run Code Online (Sandbox Code Playgroud)

然后

double diffclock(clock_t clock1,clock_t clock2)
{
    double diffticks=clock1-clock2;
    double diffms=(diffticks)/(CLOCKS_PER_SEC);
    return diffms;
}
Run Code Online (Sandbox Code Playgroud)

然而,这总是返回0秒...是否有另一种方法可以工作?

此外,这是在Linux中.

编辑:另外,只需添加,执行时间就是几小时.所以准确性并不是真正的问题.

谢谢!

c++ linux timing

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

增加cout的缓冲区

引用setbuf()会影响cout吗?

我想增加缓冲区大小以提高cout的性能(通常会重定向到磁盘)

我可不可以做:

std::cout.rdbuf()->pubsetbuf(some_buffer, buffer_size);
Run Code Online (Sandbox Code Playgroud)

并且

ios::sync_with_stdio(false);
Run Code Online (Sandbox Code Playgroud)

这有道理吗?

编辑:我也使用多个线程,所以我希望减少同步的需要。

c++ io buffer iostream stdio

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

MVC6中的HttpConflict在哪里?

我是一个没有"网络东西"经验的C++人,但我的主管要我去学习"ASP.NET MVC 6"的方法,因为它是最新的时髦的东西.

我设法得到至少一个教程,但我看不到任何参考和任何文档.我在哪里查找有哪些类和方法?

我目前的问题是我试图弄清楚如何从我的控制器中的Create方法返回一个409的Http状态.我没有看到HttpConflict方法.我该怎么称呼?

asp.net-core-mvc

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

用一对索引STL地图是个好主意吗?

我只是想知道创建数据结构是否是个好主意

std::map< std::pair<int,int>,std::string >
Run Code Online (Sandbox Code Playgroud)

只是想知道如何在内部订购这对......:S

谢谢!

c++ stl stdmap std-pair

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