c++ - 如何使指针成员 const'able
问题描述
好的,所以这可能是一个简单的问题,但我找不到答案。假设我有以下结构:
struct Bytes {
uint8_t* buffer;
uint32_t length;
};
我尝试像这样初始化它:
const uint8_t buffer[] = "Hello";
const uint32_t length = sizeof(buffer);
const Bytes bytes = { buffer, length };
然后它不会编译,因为我传递的缓冲区是cosnt uint8_t*
,并且uint8_t*
即使整个Bytes
结构是 const,结构也需要。我可以将buffer
成员设为 aconst uint8_t*
但这会破坏一些我实际上希望字节可变的其他代码。所以我想我的问题是:
有没有办法让指针成员保持与结构相同的可变性?
解决方案
推荐阅读
- python - 无法从另一个包导入包
- javascript - Plotly Graphs - Javascript 和 Jinja 之间的冲突
- python - 如何抓取没有不同类的表数据?
- mysql - MySql `MATCH AGAINST` 和 `LIKE` 组合搜索特殊字符
- powershell - 如何从带有 powershell 的链接中获取文件格式
- flutter - 如何在 Flutter 中获取 TextInputField 和 PasswordInput 中的输入值?
- php - 启用 php-zip 并获取模块“zip”的 MacOs 已在 Unknown on line 0 错误中加载
- css - 如何增加 rshiny 仪表板侧边栏菜单项之间的填充边距?
- python - 熊猫提取价值变化的前一行
- symfony - 为什么在 prod mod 的 symfony 5.3 中出现 503 错误,而在 dev mod 中却没有