小编KcF*_*nMi的帖子

Qt转发信号/插槽连接

比方说,SomeClass有成员Object1Object2与之间有一个连接Object1Object2这样的:

connect(Object1, signal1, Object2, slot1)
Run Code Online (Sandbox Code Playgroud)

经过一番重构Object3加入SomeClassObject2被转移到成为其成员Object3,但仍存在之间的连接的需求Object1Object2.

现在Object1和之间的沟通Object2必须经历Object3.这意味着Object3需要修改,添加一对信号/插槽只是为了实现Object1和之间的通信Object2.

这意味着Object3将修改.h和.cpp,添加许多代码行来完成之前在一行中完成的操作.

我懒惰的一面是说这个故事有些奇怪.有没有办法让这种联系更直接?

c++ qt c++11 qt5 c++14

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

在 C 语言中计算斐波那契递归调用的次数

我面临以下问题:

调用fib(8)(如下),进行了多少次递归调用(忽略第一个)?返回值是多少?

int fib (int n) {
    if (n==0 || n==1) return 1;
    else return fib(n-1) + fib(n-2);
}
Run Code Online (Sandbox Code Playgroud)

所以我做了:

#include <stdio.h>
#include <stdlib.h>

int r = 0;

int fib (int n) {
    printf("k: %d fib n: %d", r++, n);
    if (n==0 || n==1) {
        printf("\n");
        return 1;
    } else { 
        printf(" +\n");
        return fib(n-1) + fib(n-2); 
    }
}

int main(int argc, char **argv) {
    int n = atoi(argv[1]);
    int f = fib(n);
    printf("\nreturn: %d\n", f);
    return 1; …
Run Code Online (Sandbox Code Playgroud)

c

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

为什么(1 + 3)[a]与[1 + 3]相同?

在研究18个基本C++面试问题时,我发现了一个带有以下(奇怪)声明的问题:

std::cout << (1 + 3)[a] - a[0] + (a + 1)[2];
Run Code Online (Sandbox Code Playgroud)

然后答案解释了,(1+3)[a] is the same as a[1+3]这对我来说仍然很奇怪.

我可以问一下这个历史吗?为什么会如此以及如何允许这样做呢?

c++

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

使用 OpenGL 更改背景颜色

Qt OpenGL 窗口示例显示了一个彩色三角形。颜色、RGB 角设置为:

static const GLfloat colors[] = {
    1.0f, 0.0f, 0.0f,
    0.0f, 1.0f, 0.0f,
    0.0f, 0.0f, 1.0f
};
Run Code Online (Sandbox Code Playgroud)

如何将黑色背景更改为其他颜色?

c++ opengl

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

如何(或为什么)调用复制构造函数?

#include <iostream>

using namespace std;

struct Car
{
    int size = 4;
    int* tires = nullptr;

    Car()
    {
        cout << "ctor" << endl;
        tires = new int[size];
    }

    Car(const Car& car)
    {
        cout << "copy ctor" << endl;
        tires = new int[size];
        memcpy(tires, car.tires, size*sizeof(int));
    }

    Car& operator= (Car& car)
    {
        cout << "copy assignment operator" << endl;
        tires = new int[size];
        memcpy(tires, car.tires, size*sizeof(int));
        return *this;
    }

     ~Car()
    {
        cout << "dtor" << endl;
        delete tires;
    }
};

int …
Run Code Online (Sandbox Code Playgroud)

c++ constructor

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

为什么(int i = 0; i <10; ++ i)和for(int i = 0; i <10; i ++)返回相同的?

为什么

for(int i=0; i<10; i++)
    std::cout << i << std::endl;
Run Code Online (Sandbox Code Playgroud)

for(int i=0; i<10; ++i)
    std::cout << i << std::endl;
Run Code Online (Sandbox Code Playgroud)

返回相同:

0 1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

我期待预增量返回:

1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)

因为它在返回之前自我递增,对吧?

c++

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

Vim将文本对齐到左侧

给出如下内容:

dadscasd
  cas
    casdc 
Run Code Online (Sandbox Code Playgroud)

在vim中,我可以将所有线路都放到左侧吗?

dadscasd
cas
casdc 
Run Code Online (Sandbox Code Playgroud)

我安装了vim表格.我知道如何对齐模式,但不知道如何将所有内容对齐到左边.也不确定vim表格是适合这项工作的工具.

vim vim-plugin

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

提取运算符$,真的需要吗?

学习http://data.princeton.edu/R/linearModels.html,我明白了

> lmfit = lm( change ~ setting + effort )
Run Code Online (Sandbox Code Playgroud)

使用change,setting以及effort从以前加载的数据(> fpe <- read.table("http://data.princeton.edu/wws509/datasets/effort.dat")).

没有$我得到执行上述命令

Error in eval(expr, envir, enclos) : object 'change' not found
Run Code Online (Sandbox Code Playgroud)

如果我使用$喜欢的话

> lmfit = lm( fte$change ~ fte$setting + fte$effort )
Run Code Online (Sandbox Code Playgroud)

然后它工作.

那么,为什么他们这样呈现呢> lmfit = lm( change ~ setting + effort )

r

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

C将文字char'0'转换为int 0(零),怎么办?

我将如何将文字转换/转换char '0'int 0

即:

char string[] = "0101";
char ch = string[0];
x = magic(ch);
if (x)
    printf("int zero")
Run Code Online (Sandbox Code Playgroud)

c int casting type-conversion char

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

标签 统计

c++ ×5

c ×2

c++11 ×1

c++14 ×1

casting ×1

char ×1

constructor ×1

int ×1

opengl ×1

qt ×1

qt5 ×1

r ×1

type-conversion ×1

vim ×1

vim-plugin ×1