小编Mar*_*cin的帖子

在Python中dict.clear()和赋值{}之间的区别

在python中,调用clear()和分配{}字典有区别吗?如果是,那是什么?例:

d = {"stuff":"things"}
d.clear()   #this way
d = {}      #vs this way
Run Code Online (Sandbox Code Playgroud)

python dictionary

159
推荐指数
6
解决办法
10万
查看次数

在vim中搜索选择

我在编写C++时使用vim和vim插件进行visual studio.通常,我发现自己想要在函数中搜索字符串,例如每次调用object->public_member.memberfunc().

我知道vim提供了一种搜索单个单词的便捷方式,通过按*#,它还可以使用无处不在的斜杠/命令搜索键入的字符串.当尝试搜索上述字符串的所有实例时,需要一段时间才能重新输入/.

有没有办法搜索选择?例如,突出显示v,然后复制y,有没有办法粘贴后/?有更简单的捷径吗?

vim viemu string-search

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

VIM中的多个选择

是否可以在VIM的可视模式中选择多个非连续的行(或部分)?如果是这样,怎么样?

vim selection

60
推荐指数
3
解决办法
2万
查看次数

互斥量应该是可变的吗?

不确定这是一个风格问题,还是一个有硬规则的东西......

如果我想尽可能保持公共方法接口为const,但是使对象线程安全,我应该使用可变互斥锁吗?一般来说,这是一个好样式,还是应该首选非const方法接口?请证明你的观点.

c++ mutex mutable

57
推荐指数
2
解决办法
2万
查看次数

C和C++如何在堆栈中存储大对象?

我试图弄清楚C和C++如何在堆栈上存储大对象.通常,堆栈是整数的大小,所以我不明白在那里存储更大的对象.他们只是占用多个堆栈"插槽"吗?

c c++ memory stack

18
推荐指数
4
解决办法
8767
查看次数

是否可以在运行时迭代mpl :: vector而无需实例化向量中的类型?

通常,我会使用boost::mpl::for_each<>()遍历a boost::mpl::vector,但这需要一个带有模板函数的仿函数,如下所示:

template<typename T> void operator()(T&){T::staticCall();}

我的这个问题是我不希望的物体T被实例化也for_each<>.我根本不需要T参数operator().有没有办法实现这一点,或者替代方法for_each<>是不将类型为T的对象传递给模板函数?

最理想的是,我希望operator()定义如下所示:

template<typename T> void operator()(){T::staticCall();}

当然,我不希望在通话之前对T进行实例化.任何其他提示/建议也欢迎.

c++ foreach boost vector boost-mpl

18
推荐指数
2
解决办法
5154
查看次数

Graphviz用于文档

我注意到doxygen使用graphviz库来创建图表.您是否曾使用graphviz生成文档?是否值得在doxygen范围之外学习graphviz用于文档目的?或者我最好坚持像Visio这样的标准数据建模软件包?

我理解它作为图形库的优点,但是为了尝试表示更复杂的UML(或类似的),它还值得研究吗?

uml doxygen documentation-generation graphviz

17
推荐指数
5
解决办法
1万
查看次数

C++中的朋友范围

如果我有三个班级,A,B,C.A和B是朋友(双向).此外,B和C是朋友(双向).A有一个指向B的指针,B有一个指向C的指针.为什么A不能通过指针访问C的私有数据?

只是为了澄清:这是一个纯粹的理论C++语言问题,而不是设计建议问题.

c++ friend

17
推荐指数
2
解决办法
8514
查看次数

C++ singleton GetInstance()返回

在C++中实现单例时,GetInstance()返回指向单例对象或引用的指针是否更好?真的有关系吗?

c++ singleton pointers reference

15
推荐指数
2
解决办法
9590
查看次数

从具体类派生一个抽象类

让我们说我们有一个具体的class Apple.(可以实例化Apple对象.)现在,有人来自class PeachApple 并从Apple中获取摘要.它是抽象的,因为它引入了一个新的纯虚函数.Peach的用户现在被迫从中派生并定义这个新功能.这是一种常见的模式吗?这是正确的吗?

样品:


class Apple
{
public:
    virtual void MakePie();
    // more stuff here
};

class Peach : public Apple { public: virtual void MakeDeliciousDesserts() = 0; // more stuff here };

Run Code Online (Sandbox Code Playgroud) 现在让我们说我们有一个具体的class Berry.有人class Tomato从贝瑞那里得到一个摘要.它是抽象的,因为它覆盖了Berry的虚拟函数之一,并使其成为纯虚拟函数.Tomato的用户必须重新实现之前在Berry中定义的功能.这是一种常见的模式吗?这是正确的吗?

样品:


class Berry
{
public:
    virtual void EatYummyPie();
    // more stuff here
};

class Tomato : public Berry { public: virtual void EatYummyPie() = 0; // more stuff here };

Run Code Online (Sandbox Code Playgroud) 注意:名称是人为的,并不反映任何实际代码(希望如此).在撰写这个问题时,没有任何成果受到伤害.

c++ inheritance abstract-class pure-virtual

13
推荐指数
2
解决办法
4038
查看次数