小编Ash*_*hot的帖子

TCL:获取对象的类名?

如何获取itcl对象的类名或检查对象是否存在?

tcl incr-tcl

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

QVector和std :: vector的大小方法

的大小的方法QVector的类型的int,但在相同的方法std::vectorunsigned.为什么会有区别.是不是无符号类型是保持大小的正确方法,因为它不能是否定的?

c++ qt types vector

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

带有确定和取消按钮的QDialog

我需要Qt Dialog和ok并取消具有标准功能的按钮,放置在其布局的右侧.我需要继承它并在其布局中添加其他小部件.我可以自己实现它,但也许有标准的东西,在这种情况下我更喜欢使用它,因为它会更便携.

QMessageBox显示一条消息,我需要更通用的东西,只需要QDialog和标准按钮,或者QDialog有一个激活它们的选项.

c++ qt button qdialog qbuttongroup

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

将 std::vector<uint8_t> 转换为 std::string_view

我有一些类型的数据std::vector<uint8_t>。我想将它解释为一个字符串并对其进行一些子字符串检查。

可以通过将其转换为std::string这将导致复制数据来完成。是否有可能以某种方式将其转换为std::string_view并对其进行搜索以避免复制它。

c++ type-conversion stdvector string-view c++17

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

如何在不更改命令行的情况下禁用断言?

我有带有断言的C++代码.当我用g++ -D NDEBUG选项编译代码时,没有执行断言命令.但是当我在代码中包含NDEBUG #define NDEBUG并且没有-D NDEBUG选项编译它时,执行assert命令.如何在不更改命令行的情况下禁用断言?

c++ debugging assert

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

如何从对象获取stl容器的类型?

如何从对象中获取STL容器的类型?例如,我有一个container变量,我知道它是std::vector<some type>.我需要使用迭代器迭代容器.有没有办法在不知道容器类型的情况下声明迭代器?

我当然可以从代码中获取类型,但我很乐意在不使用类型的情况下完成它.我也不是在使用C++ 11.

c++ stl

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

编译器错误:在'>'标记之前的预期primary-expression

#include <string>
...
template <typename DefinitionsIterator>
void parse(const CIET_NS ::VariadicArguments& argumentList, DefinitionsIterator firstDef, DefinitionsIterator lastDef, Map& res)
{
    for (int i = 0; i < argumentList.size(); ++i) {
        CIET_NS ::Object obj = argumentList.at(i);
        std::string objStr = obj.convert<std::string>();
        qDebug() << objStr.c_str();

        //qDebug() << argumentList.at(i).convert<std::string>().c_str();

    }
Run Code Online (Sandbox Code Playgroud)

此代码编译但注释的行没有.我收到了这个错误

 error: expected primary-expression before '>' token
Run Code Online (Sandbox Code Playgroud)

怎么会发生这种情况?

template <typename ChildClass, typename ListElementType, typename DuplicateType>
class BasicObject
{
public:
    BasicObject();
    ~BasicObject();

public:
    Tcl_Obj* tclObject() const;
    Tcl_Obj* releaseObject();
    template <typename T>
    T convert(Interpreter& interp) const;
    template <typename …
Run Code Online (Sandbox Code Playgroud)

c++ qt compiler-errors

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

如何将参数从省略号运算符传递到其他函数?

void myPrintf(const char* format, ...) {
    // some code
    va_list vl;
    printf(format, vl);
}

int main() {
    myPrintf("%d\n", 78);
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我试图将参数从省略号传递给printf.它编译但打印垃圾而不是78.这是正确的方法吗?

c++ printf ellipsis

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

使用`$`符号时,Tcl会添加花括号

set B {pc_0::!mx_0 pi::$mx_0}
puts $B

set A ""
foreach x $B {
    lappend A $x
}

puts $A
Run Code Online (Sandbox Code Playgroud)

这个程序的输出是

pc_0::!mx_0 pi::$mx_0
pc_0::!mx_0 {pi::$mx_0}
Run Code Online (Sandbox Code Playgroud)

奇怪的是tcl在第二个输出中添加花括号.我想这是因为它使用了$符号.但我真的需要使用它,我不希望插入大括号.如何解释这个以及如何避免括号?

list tcl braces dollar-sign

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

递归最小生成树算法

这是查找最小生成树的正确算法.

将Graph划分为2个相同连接的部分.找到它的最小生成树.使用连接它们的最小边缘连接它们.我试图得到这个算法的反例,但不能.

algorithm graph minimum-spanning-tree

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