如何在不为其声明变量的情况下获取和使用常量值的地址?

How to get and use the address of constant value without declaring a variable to it?

本文关键字:常量 地址 获取 情况下 声明 变量      更新时间:2023-10-16

我正在尝试使用文件描述符将值写入/修改到文件中。我正在使用一个 write(( 函数,它的原型为 ->write(file_descriptor, address_of_values_to_be_written, no_of_bytes_to_be_written);在某些时候,我需要将一个值写入文件。我不想声明它的指针或变量。在原型的地址部分指定该值的格式是什么?我们能做这样的事情吗>write(fd, &(200), sizeof(int));

谢谢:(

一个好的解决方案是包装器(lambda或完整函数(:

auto write_int(int fd, int n) { return write(fd, &n, sizeof n); }

您可以将其用作:

write_int(fd, 200);

你也可以使用辅助类来启用语法,如write(fd, addressable_int(200), sizeof 200)write(fd, &200_a, sizeof 200)但人们会想知道你在抽什么烟。