小编Sta*_*als的帖子

如何从所选行(QTableView)获取单元格值?

我有一个QTableView,我需要从所选行的第一个单元格获取值(字符串)(可以选择行上的任何单元格).但是,只有在选择了一行时才需要此值.

我想 - 我需要得到所选行的索引,然后得到该行上第一个сell的值,但我找不到办法.

c++ qt qtableview

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

c ++中的位移

我不明白为什么这给了我同样的答案:

 long long a = 3265917058 >> 24;
 std::cout << a << std::endl; //194

 long long ip = 3265917058;
 long long b = ip >> 24;
 std::cout << b << std::endl; //194
Run Code Online (Sandbox Code Playgroud)

但这不是:

 long long a = (3265917058 << 16) >> 24;
 std::cout << a << std::endl; //240

 long long ip = 3265917058;
 long long b = (ip << 16) >> 24;
 std::cout << b << std::endl; //12757488 - **i want this to be 240 too!**
Run Code Online (Sandbox Code Playgroud)

更新:我想要32位移位,但是我怎么能移动一个对于int变量来说太大的数字呢?Update2:我的答案是使unsigned int ip.那一切都会好的.

c++ bit-shift

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

如何使用c ++驱动程序将mongodb数组保存到向量中?

例如,如果我在shell中执行此操作

> db.numbers.save( { name: "fibonacci", arr: [0, 1, 1, 2, 3, 5, 8, 13, 21] } )
Run Code Online (Sandbox Code Playgroud)

然后我想进入arr我的c ++程序.

之后,我得到了我BSONObj可以得到name

std::string name = p.getStringField("name");
Run Code Online (Sandbox Code Playgroud)

pBSON对象在哪里.

但是从数组中获取元素并将它们保存到std :: vector的正确方法是什么?

编辑:

经过一些研究后,我发现了BSONElement doxygen文档并做了这个.

std::vector<int> arr;
std::vector<BSONElement> v = p.getField("arr").Array();
for(std::vector<BSONElement>::iterator it = v.begin(); it != v.end(); ++it)
    arr.push_back(it->numberInt());
Run Code Online (Sandbox Code Playgroud)

但我仍然不确定这是否正确.

c++ mongodb bson mongo-cxx-driver

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

Android.mk:不受支持的 C 文件源文件扩展名

在我的 Android.mk 文件中,我有这样的东西

LOCAL_PATH:= $(call my-dir)    
include $(CLEAR_VARS)

LOCAL_MODULE    := testmodule
FILE_LIST := $(LOCAL_PATH)/include/md5/md5.?
FILE_LIST += $(LOCAL_PATH)/include/md5/md5main.?

FILE_LIST += $(wildcard $(LOCAL_PATH)/include/*.cpp)
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

但是当我运行时ndk-build- 我收到以下错误

Android NDK: WARNING: Unsupported source file extensions in /Users/some/path/jni/Android.mk for module testmodule    
Android NDK:   include/md5/md5.? include/md5/md5main.?   
Run Code Online (Sandbox Code Playgroud)

(我在 OSX 10.9.2 上使用 android-ndk-r8c)

如何在 Android.mk 中添加 *.c 文件?我可能做错了什么?

(如果需要,我可以发布更多的 Android.mk 和 Application.mk)

c android android-ndk

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

你如何对mongodb中的数组进行AND查询?

我有一个带有标签的数组,这是一个文件的一部分,例如["红色","绿色","蓝色","白色","黑色"]

现在我想找到所有有红色和蓝色的文件.

mongodb mongodb-shell

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

多重定义和命名空间

这是在命名空间中使用函数的正确方法吗?我将在多个文件中#include?

test.h

#pragma once
    #ifndef TEST
    #define TEST
    namespace test{
    namespace {

        bool test(){
            return true;
        }
    }
}
#endif //TEST
Run Code Online (Sandbox Code Playgroud)

c++ namespaces pragma include-guards

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

数组声明中的常量表达式

C++ Primer

必须在编译时知道数组维度,这意味着维度必须是常量表达式

另外一点是这样的

unsigned count = 42;           // not a constant expression
constexpr unsigned size = 42;  // a constant expression
Run Code Online (Sandbox Code Playgroud)

我会,然后期望以下声明失败

a[count];                      // Is an error according to Primer
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.编译并运行良好.

还有一点奇怪的是,++count;在数组声明之后也没有引起任何问题.

-std=c++11flag打开的程序g++4.71

这是为什么?

c++ arrays constexpr

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

我可以加入课程列表吗?

我需要从具有.__str__()方法的类列表中获取一个字符串.

因此,药水是一类药水的对象列表.药水__str__方法只返回药水的名称.我想做这样的事情

result = "\n".join(potions)
Run Code Online (Sandbox Code Playgroud)

但只有字符串可以连接,我不知道如何调用连接__str__()中的每个类.

或者我应该做这样的事情:

for potion in potions:
    result += "{0}\n".format(potion)
Run Code Online (Sandbox Code Playgroud)

或者可能是别的什么?

python string join class generator

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

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

c ++虚函数混淆

我正在学习有关的虚函数和我很困惑与下面的程序,我希望双方的结果a1.virFun(b1)b1.virFun(b1)应返回"你好,从B",但该程序返回"你好,从A".这与我的理解相反.你能解释为什么b1.sayHello()没有被调用,即使我作为参数传递b1并且b1.sayHello()是虚函数.

#include<iostream>

using namespace std;

class A
{
 public:
 virtual void sayHello();
 void virFun(A obj);

 };

class B : public A
{
 public:
 void virFun(A obj);
 virtual void sayHello();

};

void A::sayHello()
 {
   cout << "hello from A" << endl;
 }

 void B::sayHello()
 {
   cout <<"hello from B" << endl;
 }

 void A::virFun(A obj)
 {
    obj.sayHello();
 }

 void B::virFun(A obj)
{
    obj.sayHello();
}

int main()
{
 A a1;
 B b1;

a1.virFun(b1);
b1.virFun(b1); …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance virtual-functions

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