小编Sam*_*iao的帖子

你通常如何记笔记阅读大软件的源代码

对于大型软件,记笔记有助于理解大局.

你怎么做笔记?用笔/纸,或只是一个记事本; 你通常会写什么来记录?

knowledge-management

6
推荐指数
1
解决办法
1175
查看次数

用STL编写的酷项目有没有?

我想通过快速浏览真实的项目源来学习STL.

我在哪里可以找到使用STL的高质量项目?

c++ stl

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

如何处理c中的错误返回

当函数调用深入时,如何处理C中例程的错误返回?

由于C不提供异常抛出机制,我们必须检查每个函数的返回值.例如,"a"例程可以被"b"调用,而"b"可以被许多其他例程调用,所以如果"a"返回错误,那么我们必须在"b"和所有其他例程中检查它叫"b".

如果"a"是一个非常基本的例程,它可以使代码变得复杂.有这样的问题的解决方案吗?实际上,在这里我希望得到一个快速的返回路径,如果发生这样的错误,所以我们只需要在一个地方处理这个错误.

c

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

如何在 clearcase 中显示当前视图规范的最近更改和日志?

clearcase的新手。

由于 clearcase 的配置与 git 中的其他概念有很大不同,我可能是指具有指定版本/分支路径的任何文件的日志。

就像我想显示所有元素匹配的日志:

element * .../specified-lable-or-branch/
Run Code Online (Sandbox Code Playgroud)

clearcase

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

如何理解"m()"是一个monadic计算

文件:

when :: (Monad m) => Bool -> m () -> m ()
when p s = if p then s else return ()
Run Code Online (Sandbox Code Playgroud)

when函数采用布尔参数和单元()类型的monadic计算,并仅在布尔参数为时执行计算True.

===

作为一个Haskell新手,我的问题是对我来说m ()是一些"无效"数据,但在这里文档提到它是计算.是因为Haskell的懒惰吗?

monads haskell

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

有没有开源命令行库?

我想为服务器程序添加命令行界面支持.

因此,每次我想检查服务器的状态时,我都可以telnet到服务器的控制端口,并输入命令来检查服务器的状态.

是否有任何开源库实现这样的功能所以我不需要从头开始编写它?

此外,如果库可以提供更多功能,如cisco的命令行界面(Tab键提示,命令查询,vi模式,甚至基于符号的命令),那将是很好的.

c linux

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

将带有malloc指针的类放入映射容器中

我想使用map进行键/成员搜索,问题是该类包含malloc调用分配的缓冲区成员.

struct Key {
    int key1;
    int key2;
    bool operator < (Key & a) { .... } 
};

struct Entity {
    unsigned char *data; 
};

typedef std::map(Key, Entity) TMap;
Run Code Online (Sandbox Code Playgroud)

然后我可以用键插入数据,如:

Tmap map;
Key key;
Entity ent;
ent.data = malloc(size);
key.key1 = xx;
key.key2 = xx;

map.insert( ...(key,ent));
Run Code Online (Sandbox Code Playgroud)

问题是我希望删除地图时自动释放"ent.data"指针.同时,我希望在进行地图查找操作时可以访问"数据"来读取缓冲数据.

我试图将析构函数添加到结构实体,但它似乎导致一些重复的免费问题.

解决方案是什么?

[解决方案]:1.使用shared_ptr:

typedef std::tr1:shared_ptr(unsigned char) CharPtr;

struct Entity {
  CharPtr data;
}

ent.data = CharPtr((unsigned char*)malloc(size), free);
Run Code Online (Sandbox Code Playgroud)

或另一种解决方案 使用Vector作为Eugene Homyakov提到.

c++ stl

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

如何获得最准确的结果?

鉴于:

unsigned int a, b, c, d;
Run Code Online (Sandbox Code Playgroud)

我想要:

d = a * b / c;
Run Code Online (Sandbox Code Playgroud)

和(a*b)可能溢出; 也(b/c)可能等于零并且精度较低.

也许一个64位的演员可以让事情发挥作用,但我想知道在d中获得最准确结果的最佳方法.

有什么好的解决方案吗?

c

0
推荐指数
1
解决办法
167
查看次数

标签 统计

c ×3

c++ ×2

stl ×2

clearcase ×1

haskell ×1

knowledge-management ×1

linux ×1

monads ×1