gpt4 book ai didi

c++ - Visual Studio - 获取字符串中第一个字符的内存地址

转载 作者:行者123 更新时间:2023-11-28 06:16:51 27 4
gpt4 key购买 nike

我有一个 C++ 代码可以在屏幕上打印一个字符串,如下所示:

cout << "Hello, World" << endl

我需要做的是,使用 Visual Studio 内存反汇编程序,找到该字符串文字(“Hello, World”)中第一个字符的内存地址(在本例中为字母“H”,以及最后一个)

我该怎么做?

谢谢。

最佳答案

您可以使用cout 打印地址(不确定如何直接使用反汇编程序)

std::cout << (void*)"Hello, World";

或者,如果您需要存储字符串文字,

const char* str = "Hello, World";
std::cout << (void*)str;

完整示例 Live on Ideone

#include <iostream>

int main()
{
const char* ptr = "Hello, World";
std::cout << (void*)ptr << std::endl;
std::cout << (void*)"Hello, World" << std::endl;
}

正如您在运行示例中看到的,字符串文字 "Hello, World"char* str = "Hello, World" 实际上使用相同的内存(编译器足够聪明,可以意识到您有 2 个相同的字符串文字,因此它只为其中一个分配内存)。

关于c++ - Visual Studio - 获取字符串中第一个字符的内存地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30106817/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com