小编Tre*_*ent的帖子

什么是Java等价的C++模板?

什么是Java等价的C++模板?

我知道有一个名为Template的界面.这有关系吗?

c++ java generics templates

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

C++指针多继承的乐趣

我正在编写一些涉及从基本引用计数指针类继承的代码; 并且出现了一些复杂的C++.我把它减少如下:

假设我有:

class A{};
class B{};
class C: public A, public B {};

C c;
C* pc = &c;
B* pb = &c;
A* pa = &c;

// does pa point to a valid A object?
// does pb point to a valid B object?

// does pa == pb ?
Run Code Online (Sandbox Code Playgroud)

此外,确实:

// pc == (C*) pa ?
// pc == (C*) pb ?
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ multiple-inheritance

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

SQLite:当主数据库有打开的准备好的语句时,为什么我无法分离数据库?

为什么下面的代码不起作用:

#include <stdio.h>
#include <sqlite3.h>

int main(void)
{
    sqlite3 *pDb;
    sqlite3_stmt *stmt;
    char *errmsg;

    sqlite3_open(":memory:", &pDb);

    sqlite3_exec(pDb, "CREATE TABLE Test(a INTEGER)", NULL, NULL, NULL);
    sqlite3_exec(pDb, "INSERT INTO Test(a) VALUES(1)", NULL, NULL, NULL);

    sqlite3_prepare_v2(pDb, "SELECT * FROM Test", -1, &stmt, NULL);
    sqlite3_step(stmt);

    sqlite3_exec(pDb, "ATTACH 'Test.db' as Other;", NULL, NULL, NULL);

    sqlite3_exec(pDb, "DETACH Other;", NULL, NULL, &errmsg);
    printf("error: %s\n", errmsg);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

error: database Other is locked
Run Code Online (Sandbox Code Playgroud)

如果我sqlite3_reset(stmt)在之后执行 a sqlite3_step(stmt),它就会起作用。

为什么不相关数据库上的 open 语句会锁定“其他”数据库?我在文档中找不到解释。

c sqlite

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

在开发库模块时设置Python路径

我正在开发一个库和一个在Python 2.6中使用该库的应用程序.我在"site-packages"中放置了一个"mylib.pth"文件,以便我可以import mylib在我的应用程序中.

我正在使用DVCS,所以当我想修复错误或向库中添加一个功能时,我会创建一个存储库的分支并在该分支内工作.要使用我对库进行的更改来测试我的应用程序,我编辑"mylib.pth"中的路径以指向新的开发分支.

如果我的库中有一些并行分支,那么这会变得有点乏味.我必须在测试之前继续编辑"mylib.pth"文件,以确保我正在测试我的库的正确版本.有没有办法使用当前路径(即我当前的库的开发分支)来设置我调用应用程序时的库路径,而不是使用全局"site-packages"中的"mylib.pth"目录?

python

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

Bazaar有没有办法自动检测和应用工作目录中的更改?

有没有办法让Bazaar能够自动检测对工作目录的一部分所做的更改(添加,删除,重命名等)并自动应用它们?

我有另一个进程产生的,所以我不能做所有的在我的仓库的目录树bzr add,bzr delete以及bzr rename作为文件正在改变命令.相反,我希望有一种方法让bzr注意到所有更改并在运行此过程后应用它们.

我现在想到的唯一方法是运行bzr status,然后手动(或通过编写脚本)运行bzr addbzr delete列出所有列出的文件.这将工作,但我希望有一个自动方法,也可以确定文件是否被重命名(添加的文件具有相同的删除文件的内容).

bazaar

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

C++类范围

我从Objective C开始使用C++并遇到问题......这样可行: -

function1(char *filePath) {

    Box box(filePath); // construct/create a box using filePath

    // can use box in this function and destructor is called when function exits

}
Run Code Online (Sandbox Code Playgroud)

但是我需要这样的东西,其中function1和function2是异步调用的.

Box *boxPool[25]; // a pool of 25 box pointers

function1(int item, char *filePath) {

    boxPool[item](filePath); // construct/create a box, store a pointer in boxPool that is retained on exit

}

function2(int item) {

    // use the box from boxPool[item] and then destruct/release it on exit

}
Run Code Online (Sandbox Code Playgroud)

c++ class

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

标签 统计

c++ ×3

bazaar ×1

c ×1

class ×1

generics ×1

java ×1

multiple-inheritance ×1

python ×1

sqlite ×1

templates ×1