小编jps*_*alm的帖子

我可以在临时结果中溢出uint32_t吗?

基本上当我这样做时,32位系统会发生什么:

uint32_t test (void)
{
  uint32_t myInt;

  myInt = ((0xFFFFFFFF * 0xFFFFFFFF) % 256u );

  return myInt;
}
Run Code Online (Sandbox Code Playgroud)

c

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

为什么std :: cout指向指针的解引用指针导致-fsanitize =地址抱怨?

char t = 'a';
char * p1 = &t;
char** p2 = &p1;
std::cout << p2 << " " << *p2 << " " << **p2 << '\n';
Run Code Online (Sandbox Code Playgroud)

我正在使用clang和-fsanitize =地址,它抱怨内存访问溢出变量并终止我的程序,但是当我单步执行gdb时,我可以看到是的,所有内容都已定义,它应该打印两个地址,后跟'a'.

如果我删除中间的"*p2"它运行正常,即它是打印一个指针导致我问题的半解引用指针.

c++

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

C++通过引用而不是值传递

我做了比C++更多的C编程,所以我仍然试图围绕引用和指针.我在Qt中遇到了这个问题:

class node : public QObject
{
    Q_OBJECT
public:
     explicit node(QObject *parent = 0);
     explicit node(QObject *parent = 0, QGraphicsRectItem * obj = Q_NULLPTR);
     explicit node(QObject *parent = 0, QGraphicsRectItem * obj = Q_NULLPTR, int val = 0);
}
private:
    QGraphicsRectItem * rect; 
    int terrain;                
Run Code Online (Sandbox Code Playgroud)

...

node::node(QObject *parent) : QObject(parent)
{
    terrain = 0;
    rect = Q_NULLPTR;
}

node::node(QObject *parent, QGraphicsRectItem *obj) : QObject(parent)
{
    terrain = 0;
    rect = obj;
}

node::node(QObject *parent, QGraphicsRectItem *obj, int val) : QObject(parent) …
Run Code Online (Sandbox Code Playgroud)

c++ qt

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

标签 统计

c++ ×2

c ×1

qt ×1