小编dte*_*ech的帖子

我的阵列有足够的堆栈空间,为什么这个循环失败?

int width = 2560;
int height = 1440;
int frameBuffer[width*height];
for (int i = 0; i < width*height; ++i)
    frameBuffer[i]=i;
Run Code Online (Sandbox Code Playgroud)

这段代码锁定了进程,即使你在32位整数的范围内,我有足够的内存来分配数组?

BTW讽刺,不是吗?在名为stackoverflow的站点上询问堆栈溢出错误:)

c++

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

"一组向量的向量" - 这可能吗?

是否可以在模板中使用模板,列表可以是任何事物的列表,字符串可以是任何字符串,所以我可以有一些其他类型的字符串列表,例如int?

首先想到的是:

std::list<std::vector<int>> listOfVectorsOfIntegers;
Run Code Online (Sandbox Code Playgroud)

可悲的是,它失败了,所以我想知道,有没有办法合法地做到这一点?

编辑:对不起,我实际上并没有在我的情况下使用字符串,只是为随机容器键入它而不考虑它不是模板.在我的情况下,问题是使用>>而不是>>,添加一个空的空格来修复它.

c++ templates

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

堆中的Java执行与c/c ++堆栈的执行有何不同?

在c/c ++中,在堆栈上创建本地对象,并将数据从堆栈馈送到cpu寄存器.

在Java中没有堆栈,所有对象都在堆上分配,现在对于预先编写的代码,可以计算对象所需的大小,而不是每个对象堆栈分配过多的c c ++样式.整个代码块立即被放置.这样,Java的堆性能几乎与c c ++中的堆栈性能完全相当.

我的问题是程序如何从堆流到最终执行?

让我们假设我运行一个函数将程序代码复制到内存中,在程序进入堆内存后,返回程序入口点地址,如何启动它的执行?

c c++ java heap stack

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

向QML项目添加资源会导致编译速度非常慢

我在项目的资源文件中添加了一些图标,突然对QML代码的每一个微小变化都会导致项目运行前7-8秒的等待时间,这几乎就像重新编译C++代码一样,但实际上这是qrc文件"编译"的延迟.

我尝试禁用qrc压缩,希望它会变得更快,但它没有任何效果.考虑到我使用的是具有快速CPU和SSD的高端系统,这是非常奇怪和烦人的 - 额外的资源只有2兆字节,为什么需要这么长时间?将相同文件添加到具有高压缩的存档大约需要5毫秒.

resources qt qt-creator qml

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

QML中的MacOS dock-like组件

使用QtQuick,我在转发器中有一排5个图像.我想在悬停时实现一个类似于MacOS停靠动画的动画.这是一张参考图片:

MacOS Dock

为了进一步分解,这就是我想要实现的目标.这些图像在悬停时应如下:

  • 悬停的图像扩大
  • 相邻图像会扩大,但会略微减少
  • 图像在扩展时不重叠

这是我到目前为止的代码

  Row {
    spacing: 2
    anchors.bottom: parent.bottom
    anchors.bottomMargin: 30
    anchors.horizontalCenter: parent.horizontalCenter

    Repeater {
      id: iconRepeater
      model: iconColors()
      Image {
        source: "icons/" + modelData + ".png"
        scale: mouseArea.containsMouse ? 1.5 : 1.0
        MouseArea {
          id: mouseArea
          anchors.fill: parent
          hoverEnabled: true
          onClicked: endTimer()
        }
        Behavior on scale {
          PropertyAnimation {
            duration: 75
          }
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

这会扩展您悬停的图像,但我似乎也无法影响邻居.任何建议表示赞赏!

macos qt dock qml qt-quick

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

为什么这不是内存泄漏?或者是吗?删除没有虚拟析构函数的基类指针

我一直在干涉,用英特尔Inspector测试内存泄漏,当我注意到一些不应该的东西时.我继承了std :: vector,它不应该有一个虚拟的析构函数,我在派生类中有一个额外的成员,我在它上面做动态内存分配,在main我在堆上创建一个派生类,强制转换为基类,调用删除...并且没有检测到内存泄漏??? 根据所有逻辑,我应该得到内存泄漏.

template <typename T>
class DynamicArray : public std::vector<T> {
public:    
    DynamicArray() : children(nullptr) {
        children = new int(50);
    }
    ~DynamicArray() {
        if (children) delete children;
    }
    DynamicArray& operator<<(const T& value)
    {
        push_back(value);
        return *this;
    }
private:
    int *children;
};


int main() {
    DynamicArray<int> *pArray = new DynamicArray<int>;
    (*pArray) << 4 << 5;
    static_cast<std::vector<int>*>(pArray);
    delete pArray;
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance memory-leaks virtual-destructor

0
推荐指数
2
解决办法
419
查看次数

GCC在调试模式下崩溃,在发布模式下运行良好?

我有这个简单的循环,运行基类指针数组:

Object * objects[2];

objects[0] = new GreenObject;
objects[1] = new RedObject;
objects[2] = new BlueObject;


for (int i = 0; i < 3; ++i) {
    cout << i << " ";
    objects[i]->info();
}
Run Code Online (Sandbox Code Playgroud)

在调试模式下,iinfo()调用方法时,程序在输出后立即在循环的第三次迭代时崩溃.在发布模式下没有这样的事情,它正在运行它应该.它不是对象的问题,因为即使我使用其他派生类它也会锁定.

Windows 7 64位下的GCC 4.4.0

有任何想法吗?

c++ crash debugging gcc

0
推荐指数
2
解决办法
816
查看次数

如何在Creator中使用我的静态Qt构建?

在构建Qt 5.6 msvc获得静态部署之后,我大约4个小时就成功完成了Qt的构建(配置-static -platform win32-msvc2013 -nomake示例-nomake测试),我打开了一个新项目,但是在.pro CONFIG + =静态并切换到发布模式,并得到缺少库的错误,它的正常窗口小部件,当从发布文件夹运行exe时,它的大小很小,约为20 kb,是否缺少步骤?

c++ qt

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

问:QML比c ++小部件更快吗?

我应该制作一个qwidget并重新实现它的绘制功能,或者制作一个qml小部件并将其作为qwidget插入,以考虑性能.

c++ performance qt qml qtwidgets

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