小编Tre*_*ent的帖子

const需要类型说明符吗?

这里需要一个类型说明符吗?

const c = 7;
Run Code Online (Sandbox Code Playgroud)

第80页的Bjarne Stroustrup的"C++编程语言"说这是非法的.但是,我一直在练习一些脑力测试,其中一个问题表明类型默认为int.Brainbench通常是正确的,所以我不确定哪个参考是正确的,我一直无法找到标准中的任何内容.有没有人有明确的答案和参考?

c++ const

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

null指针与int的等价

在"C++编程语言"中,Bjarne写道空指针与整数零不相同,而是0可以用作空指针的指针初始化器.这是否意味着:

void * voidPointer = 0;
int zero = 0;
int castPointer = reinterpret_cast<int>(voidPointer);
assert(zero == castPointer) // this isn't necessarily  true
Run Code Online (Sandbox Code Playgroud)

c++ null pointers

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

如何使用缓冲区迭代字符串(python)

我正在尝试找到一些代码,给定一个字符串,允许我使用for循环结构迭代每一行,但是添加了要求,单独的for循环结构不会将迭代重置回到开头.

目前我有

sList = [line for line in theString.split(os.linesep)]
for line in SList
  ... do stuff
Run Code Online (Sandbox Code Playgroud)

但是,连续的for循环会将迭代重置回到开头.

python中是否存在某些内容,或者我是否必须从头开始编写?

python string iteration buffer

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

C++从析构函数中抛出异常

这不是一个关于从析构函数中抛出异常是否安全的问题.

http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.9声明:

"在堆栈展开期间,所有这些堆栈帧中的所有本地对象都被破坏.如果其中一个析构函数抛出一个异常(比如它抛出一个Bar对象),那么C++运行时系统就处于一个无法获胜的情况:它应该忽略Bar并最终进入} catch(Foo e){它最初的位置?它应该忽略Foo并寻找} catch(Bar e){handler?没有好的答案 - 任何选择都会丢失信息.

IE:如果在堆栈展开期间抛出另一个异常,那么运行时系统处于不赢状态,因为"查找"的catch处理程序是不明确的.

当堆栈展开期间抛出的异常是在try/catch块中时,是否存在上述"异常"?在这种情况下,没有歧义:

#include <iostream>
using namespace std;

class Component
{
public:
    ~Component()
    {
        cout << "In component destructor" << endl;
        try
        {
            throw 1;
        }
        catch (...)
        {
            cout << "Caught exception in component destructor" << endl;
        }
    }

};

class Container
{
public:
    ~Container()
    {
        cout << "In container destructor" << endl;
        Component component;
    }
}
    ;

int main()
{
    try
    {
        Container cont;
        throw 'a';
    }
    catch (...) …
Run Code Online (Sandbox Code Playgroud)

c++ exception-handling stack-unwinding

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

dotcloud supervisord早早退出

我正在尝试在dotcloud上设置一个twistd守护进程:

我的supervisord.conf文件:

[program:apnsd]
command=/home/dotcloud/env/bin/twistd --logfile /var/log/supervisor/apnsd.log apnsd -c gp_config.py
directory=/home/dotcloud/current/apnsd
Run Code Online (Sandbox Code Playgroud)

但是,它看起来像命令'早退出',然后提示主管尝试重新启动,然后因为扭曲的dameon在后台运行而失败.

从supervisord日志:

more supervisord.log
2012-05-19 03:07:52,723 CRIT Set uid to user 1000
2012-05-19 03:07:52,723 WARN Included extra file "/etc/supervisor/conf.d/uwsgi.c
onf" during parsing
2012-05-19 03:07:52,723 WARN Included extra file "/home/dotcloud/current/supervi
sord.conf" during parsing
2012-05-19 03:07:52,922 INFO RPC interface 'supervisor' initialized
2012-05-19 03:07:52,922 WARN cElementTree not installed, using slower XML parser
 for XML-RPC
2012-05-19 03:07:52,923 CRIT Server 'unix_http_server' running without any HTTP
authentication checking
2012-05-19 03:07:52,932 INFO daemonizing the supervisord process
2012-05-19 …
Run Code Online (Sandbox Code Playgroud)

supervisord dotcloud

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

Django ContextList键

有没有办法在运行测试工具时获取返回的ContextList对象的键?

如果我有:

return render_to_response('x.html', 
                              {
                               'one' : 1,
                               'two' : 2,
                               'three' : 3
                               },
                              context_instance=RequestContext(request)) 
Run Code Online (Sandbox Code Playgroud)

有没有办法循环键一,二,三?

python django django-testing

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

django 1.5 select_for_update被认为是脆弱的设计

Django文档状态

如果你依靠"自动事务"在select_for_update()和后续的写操作之间提供锁定 - 一个极其脆弱的设计,但仍然可能 - 你必须将相关代码包装在atomic()中.从Django 1.6.3开始,在自动提交模式下使用select_for_update()执行查询将引发TransactionManagementError.

为什么这被认为是脆弱的?我原以为这会导致适当的交易.

python django django-database

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

quickfix子目录中的gitignore .o文件

我试图忽略quickfix子目录中的所有.o文件.该文件是:

quickfix/examples/executor/C++/Application.o
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

**/quickfix/**o 
quickfix/*o     
quickfix/**/*o  
Run Code Online (Sandbox Code Playgroud)

编辑:一个选项是使用*.o模式将.gitignore文件添加到quickfix子目录.有谁知道为什么上述模式不起作用?

git

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

数组初始化

我非常确定内置类型的数组是单元化的,而UDT数组是默认初始化的.

int foo[5]; // will contain junk
Foo foo[5]; // will contain 5 Foo objects that are default initialized

无论数组是在堆栈还是堆上分配,都会发生这种情况.

但是,我发现很难找到这方面的权威来源.Bjarne说:

"数组和结构的成员是默认初始化的,取决于数组或结构是否是静态的",这并没有真正告诉我太多.

我也试图在标准中找到一些东西,但到目前为止没有任何结果.

有谁知道确认上述的权威来源?

c++ arrays initialization

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