小编Ink*_*ane的帖子

如何使用无参数构造函数将对象置于std :: map中?

我想将一个对象置于std::map其构造函数不带任何参数的对象中.但是,std::map::emplace除了密钥之外,似乎还需要至少一个额外的参数.那么如何将零参数转发给构造函数呢?

c++ c++11

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

为什么Python不喜欢列表?

在Python(2.7.2)中,为什么呢

import dis
dis.dis("i in (2, 3)")
Run Code Online (Sandbox Code Playgroud)

按预期工作,而

import dis
dis.dis("i in [2, 3]")
Run Code Online (Sandbox Code Playgroud)

提出:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dis.py", line 45, in dis
  disassemble_string(x)
File "/usr/lib/python2.7/dis.py", line 112, in disassemble_string
  labels = findlabels(code)
File "/usr/lib/python2.7/dis.py", line 166, in findlabels
 oparg = ord(code[i]) + ord(code[i+1])*256
IndexError: string index out of range
Run Code Online (Sandbox Code Playgroud)

请注意,这不会影响Python3.

python python-2.x

18
推荐指数
3
解决办法
1115
查看次数

如何实现is_enum_class类型特征?

当且仅当传入的类型T是类枚举时,如何实现其值成员为true的类型特征?虽然我知道这一点

+T{};
Run Code Online (Sandbox Code Playgroud)

如果T是一个枚举,它将起作用,如果它是一个枚举类,则会失败,到目前为止我找不到将它用于SFINAE的方法.

c++ metaprogramming sfinae type-traits

9
推荐指数
2
解决办法
1482
查看次数

为什么具有空参数列表的函数原型与具有char参数的函数原型冲突?

使用下面的代码,使用-std = c11调用的clang和gcc都会抱怨foo的冲突类型.

int foo();

int main(void) {
  return foo(0);
}

int foo(char a) {
   return a;
}
Run Code Online (Sandbox Code Playgroud)

根据/sf/answers/976556031/中的答案,在(较旧的?)C标准中,当没有给出变量类型时,假设类型为int.但是,C11标准草案(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf),第6.7.6.3节,14美元表示

函数声明符中的空列表不是该函数定义的一部分,它指定不提供有关参数数量或类型的信息.

由此我得出结论,上面的代码实际上应该是有效的.或者我错过了标准的其他相关部分?

c standards gcc clang c11

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

如何在QML中显示QTextDocument中的分页文本?

我目前有一个继承自的C++类QQuickPaintedItem.我用它来绘制一个来自QTextDocumentvia QTextDocument::drawContents(或直接调用它的QTextDocumenLayout draw方法)的layouted ,paginated richtext .

但是,如QQuickPaintedItems文档中所述,需要注意的是线程问题:

警告:在创建QObject,发出信号,启动计时器等功能时必须极其谨慎,因为这些功能与渲染线程具有亲和力.

具体地说,在这种情况下,QTextDocumentLayoutPrivate具有在QTextDocumenLayout::draw被调用时开始/停止的定时器.不幸的是,QTextDocument因此定时器存在于qml主线程中,而paint在渲染线程中调用,导致消息如

QBasicTimer :: start:无法从另一个线程启动计时器

虽然这不会影响我的应用程序的功能(到目前为止),但这可能不是一件好事.

因此,我的问题是,是否有更好的方法来显示QML中的分页文本(不一定涉及QQuickPaintedItem).

c++ qml qt-quick qt5

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

抑制 - 重新比较警告

我有一些代码

Q_ASSERT(value_which_is_always_smaller_than_4 < 4)
Run Code Online (Sandbox Code Playgroud)

其中Q_ASSERT是Qts断言宏.现在铿锵,看到这个警告我,因为比较总是如此.很好,它可以检测到这一点,但这是断言声明的重点.我可以以某种方式抑制警告,但仅限于断言语句?我仍然喜欢在其他地方受到警告.

c++ clang

4
推荐指数
2
解决办法
3703
查看次数

标签 统计

c++ ×4

clang ×2

c ×1

c++11 ×1

c11 ×1

gcc ×1

metaprogramming ×1

python ×1

python-2.x ×1

qml ×1

qt-quick ×1

qt5 ×1

sfinae ×1

standards ×1

type-traits ×1