小编Mik*_*wis的帖子

如何基于grep结果条件化makefile?

如果在检查工具版本时找不到某个字符串,我正在寻找一种摆脱makefile的方法.

我想要匹配的grep表达式是:

dplus -VV | grep 'build date and time: Nov  1 2009 19:31:28'
Run Code Online (Sandbox Code Playgroud)

如果安装了正确版本的dplus,则返回匹配的行.

如何根据此表达式在我的makefile中使用条件?

grep makefile

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

STL映射迭代器可以通过递增超出范围吗?

对于关联容器,++运算符可以将迭代器发送到集合的末尾吗?

例:

map<UINT32, UINT32> new_map;
new_map[0] = 0;
new_map[1] = 1;

map<UINT32, UINT32> new_iter = new_map.begin();

++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
Run Code Online (Sandbox Code Playgroud)

在这结束时,new_iter == new_map.end(),或者它最终是在伟大的未知?

注意:我知道这搞砸了而不是做事的方式.我正在研究一些WTF公司代码.

c++ stl

7
推荐指数
3
解决办法
4638
查看次数

使用manage.py syncdb时,Django没有在virtualenv中找到应用程序

我的问题是让manage.py syncdb在virtualenv中运行.

它在某一点上工作得很好,但是当我安装South并更新pip并分发时,似乎已经破坏了.

无论如何,当virtualenv被激活时,我可以在交互式解释器中导入应用程序.通过mod_wsgi运行,也会导入应用程序,并且该站点可以运行.

当我运行manage.py syncdb时,它无法在我的virtualenv中的INSTALLED_APPS中找到任何应​​用程序.它可以很好地获取系统安装的应用程序,但在尝试仅导入virtualenv应用程序时失败.

django virtualenv django-manage.py django-south

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

如何实现排队的地图?

问题:我希望能够FIFO队列传出消息.出于更新/删除的原因,我还希望能够根据对象ID访问队列中的每条消息.

我目前已经实现了一个解决方案,其中数据被推送到双端队列,并保留了该数据的迭代器.然后将由对象ID键入的迭代器放入映射中.这在我做过的一个地方很好,但我现在发现自己想要在其他地方这样做.

我是不是太复杂了?那里有数据结构吗?

c++ algorithm stl

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

你能用overol bool()评估一个构造函数对boolean的调用吗?

如果bool()运算符被重载,可以将构造函数调用求值为布尔值吗?

class A
{
  public:
  A() {};
  operator bool() const { return true; }
}

main()
{
  if (A a = A())
  {
  // do stuff
  }
}
Run Code Online (Sandbox Code Playgroud)

以上代码是否有效,或者我是否需要实现main:

int main(int argc, const char* argv[])
{
A a();
if (a)
  {
  // do stuff
  }
}
Run Code Online (Sandbox Code Playgroud)

这段代码将在我的代码库中遍布各处,因此更少的行,更高的易读性和更小的范围是重要的,并且将由此改进.

有任何想法吗?

c++

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

如何在 Python 中解析模板化字符串?

我是 Python 新手,所以我不确定这个操作到底叫什么,因此我很难在其中搜索信息。

基本上我想要一个字符串,例如:

"[[size]] widget that [[verb]] [[noun]]"
Run Code Online (Sandbox Code Playgroud)

其中大小、动词和名词都是一个列表。

我想将字符串解释为元语言,这样我就可以从列表中排列出很多句子。作为一种元语言,我还可以制作其他字符串,使用这些预定义的列表来生成更多排列。

在 Python 中是否有像这样的变量替换功能?如果我应该谷歌它,什么术语描述了这个操作?

python

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

retval = false && someFunction(); // someFunction()会被调用吗?

我目前正在使用Diab 4.4 C++编译器.它是一个完全POS,不符合ANSI标准,我在过去发现了它的问题.

我想知道以下问题是编译器的问题,还是我对C++的一个缺点

我意识到x = x && y的形式; 如果x为假,则会使y部分短路.在x = x && y()的情况下,编译器正在做的是短路; 其中y()是非const函数.

class A
{
int _a;
A(int a) { _a = a; }
bool someFunction() { _a = 0; return true; } 
};

main(...)
{
A obj = A(1);
bool retval = false;

retval = retval && A.someFunction();

/* What is the value of A._a here? */
}
Run Code Online (Sandbox Code Playgroud)

我觉得错误的是编译器正在进行这种短路,即使someFunction()不是const函数.如果它不是const,那么当retval为false时,编译器是否通过跳过A.someFunction()来超越其边界?

此外,我意识到可以通过编写retval = A.someFunction()&& retval来避免这个问题; 但我真的很想知道为什么会这样.

c++

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