小编Mat*_*ent的帖子

有没有办法使用 lldb 为标志寄存器获得不错的输出?

这是我使用 lldb 读取 rflags 寄存器时得到的输出

(lldb) register read rflags
  rflags = 0x0000000000000246
Run Code Online (Sandbox Code Playgroud)

我知道每一位代表一个特定的标志,但是如果有一个输出给我这些标志的值(例如进位标志、零标志等)会很好。

有没有办法使用 lldb 做到这一点?

assembly disassembly lldb

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

这五种声明cString的方式发生了什么?

另一个问题(我现在找不到的)的解释是"字符串"和{'s','t','r','i','n','g','\ 0'}等价.实际上,下面的前四个声明都编译并且似乎做同样的事情.但那为什么第五个声明不编译?看起来它们毕竟不是等同的.所以我的问题是四个正确的和一个不正确的cstring声明究竟发生了什么?

int main()
{
    char cString1[]="string";

    char * cString2 = "string";

    char cString3[] = {'s','t','r','i','n','g', '\0'};

    char cString4[7] = {'s','t','r','i','n','g','\0'};

    char * cString5 = {'s','t','r','i','n','g','\0'};


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

c c++ string char

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

C++ Friend函数改进封装?

有很多关于C++好友关键字的帖子.我看到有朋友课的好处.关于封面是否被friend关键字破坏,提出并回答了许多问题,但所有这些响应似乎都是针对使用朋友进行课程的.

但朋友的功能怎么样?我不能为我的生活看到你为什么会这样想.一旦你有任何朋友的功能,你是不是允许任何一个类来访问你所有的私人数据/功能?

class Foo
{
private:
    int neverSetToZero;
public:
    Foo() { neverSetToZero = 1; }

    friend void Whateveryoudowiththisdonttouchneversettozero(Foo * t);
};

void Whateveryoudowiththisdonttouchneversettozero(Foo * t)
{
    (*t).neverSetToZero=0;
}

int main()
{
    Foo t;
    Whateveryoudowiththisdonttouchneversettozero(&t);

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

c++ friend

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

标签 统计

c++ ×2

assembly ×1

c ×1

char ×1

disassembly ×1

friend ×1

lldb ×1

string ×1