小编Rib*_*oks的帖子

c ++静态模板成员初始化问题

gcc 4.5.1,SuSE Linux i686

假设我们有以下代码:

template<typename realT> class B
{
public:
    B() {std::cout << "B()" << std::endl;}
};

template<typename realT> class A
{
public:
    static B<realT> static_var;
};

template<typename realT> B<realT> A<realT>::static_var;
template<> B<float> A<float>::static_var;
template<> B<double> A<double>::static_var;

int main()
{
    A<float> test;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我们将不会在stdout中输出任何内容.编译器不会生成代码来初始化类A的float和double特化.

但是..如果我们要改变这样的初始化:

template<> B<float> A<float>::static_var = B<float>();
template<> B<double> A<double>::static_var = B<double>();
Run Code Online (Sandbox Code Playgroud)

编译器将生成这样的代码,我们将在输出中有两个"B()".

有人可以帮助我理解这种行为吗?

c++ gcc initialization static-members static-initialization

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

无法突出显示处理TextEdit

TL; DR:TextEdit仅在我点击它时才突出显示文本.什么都没有帮助

我有一个带有字符串属性ListViewQAbstractListModel模型.这些字符串属性正在拼写检查,QSyntaxHighlighter用于显示拼写错误.我创建QSyntaxHighlighter的后代Component.onCompletedTextEdit.我仔细检查突出显示使用正确的拼写错误执行get,并setFormat()使用正确的位置执行荧光笔.问题是,只有当我点击TextEdit它自己时,它才会以红色(无效)绘制文本.

TextEdit生活在一个Flickable(跟踪光标)并Flickable生活在一个Rectangle(具有良好的背景和边界).绑定到某些信号并调用update()TextEdit并没有帮助.

拼写检查结束后,我发出rehighlight()创建的SyntaxHighlighter的信号.

Rectangle {
  id: descriptionRect
  height: 30
  border.width: descriptionTextInput.activeFocus ? 1 : 0
  clip: true

  Flickable {
      id: descriptionFlick
      contentWidth: descriptionTextInput.paintedWidth
      contentHeight: descriptionTextInput.paintedHeight
      anchors.fill: parent
      interactive: false
      flickableDirection: Flickable.HorizontalFlick
      height: 30
      clip: true
      focus: false

      function ensureVisible(r) {
          if (contentX >= r.x)
              contentX = r.x;
          else if …
Run Code Online (Sandbox Code Playgroud)

qt syntax-highlighting qml

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

在C中编写类模板通用代码的最佳方法是什么?

我需要用C中的泛型类型编写AVL树.我知道的最好的方法是使用[void*]并编写一些用于创建,复制,赋值和销毁的函数.请告诉我一些更好的方法.

c generics

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

升级到 Qt 5.15 后,ListView 委托中的父级为空

如果尝试设置它的委托属性并滚动列表(这会使委托被销毁/创建)ListView,则带有最简单委托的A会产生大量警告。在 Qt 5.12 或 5.9 中并非如此。"21:35:31.911 warning T#16084047 unknown - qrc:/main.qml:15: TypeError: Cannot read property 'left' of null"anchors

文件 main.qml

import QtQuick 2.15
import QtQuick.Window 2.15

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    ListView {
        anchors.fill: parent
        model: cppModel

        delegate: Rectangle {
            anchors.left: parent.left
            anchors.right: parent.right
            height: 50

            Text { text: model.itemName }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

文件main.cpp

#include <QAbstractListModel>
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtGlobal>
#include <QQmlContext>

#include <iostream>

void …
Run Code Online (Sandbox Code Playgroud)

c++ qt qml qt5 qtquick2

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

如何使用无服务器框架更新AWS lambda而不停机?

有以下设置:

  • 2 个 lambda 函数,使用以下方式部署serverless.yml
  • api.mydomain.com附加到 API 网关的自定义域(例如)
  • 2 个阶段 (devprod)
  • 我的域中的 CNAME 配置要指向abcdefg.cloudfront.net

有一项高级任务是更新两个 lambda 函数,而不会导致它们所服务的 API 停机。如何使用无服务器框架来做到这一点?

注意:有两种方法可以管理 lambda 部署:阶段和别名(版本)。目前别名在无服务器中不起作用(有一个分支可以修复该问题,但这并不重要)。

amazon-web-services aws-lambda serverless-framework aws-serverless

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

QML容器等距分割空间

我需要将几个项目放在一行(或一列)中,其中所有项目的宽度(或高度)都等于parent.width / number_of_children. 是否有自动执行此操作的容器?

为了在 WPF 中模拟这一点,您将创建一个带有Grid.ColumnDefinition声明的网格,Width="*"并且只需设置每个子项的Column属性。

如何在 QML 中做到这一点?

layout qt qml

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

如何标准化不同激活函数的训练数据?

我正在训练完全连接的神经网络来对 MNIST 数据集进行分类。输入数据是像素值为 的方形黑白图像[0, 255]

我读过使用sigmoid()激活器需要将输入归一化为[0, 1](sigmoid 范围)。

如何标准化tanh()激活器的输入数据?我是否需要重新调整它以在[-1, 1](tanh 范围内)或它仍然可以在[0, 1].

哪种方法更好,为什么?一般指导是什么?

machine-learning neural-network mnist

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