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

C++ 如何在不向其声明变量的情况下获取和使用常量值的地址?,c++,file,constants,C++,File,Constants,我正在尝试使用文件描述符将值写入/修改到文件中。我正在使用一个write()函数,其原型为-> write(文件描述符,要写入的值的地址,没有要写入的字节) 在某个时候,我需要在文件中写入一个值我不想声明指向它的指针或变量。在原型的地址部分指定该值的格式是什么?我们可以这样做吗-> write(fd,&(200),sizeof(int)) 谢谢:)一个好的解决方案是使用包装器(lambda或完整函数): 您可以将其用作: write_int(fd, 200); 您也可以使用帮助器类来启用语法

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


谢谢:)

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

您可以将其用作:

write_int(fd, 200);


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

我不想声明指向它的指针或变量。为什么?你不能得到一个整数文本的地址,你需要把它存储在一个变量中。而且,永远不要硬编码大小。如果需要
int
的大小,请使用
sizeof(int)
。或者如果你有一个<代码> int <代码>变量(我们称之为代码>代码<代码> >,那么你可以做<代码>值>代码>。虽然我不建议这样做,但是代码>和StasyType(200)< /C>技术上没有任何变量(虽然有临时对象)。我真的记不清C++中是否支持复合文字。如果是这样,
write(fd,(int[]){200},sizeof(int))
可能会做你想做的事情。老实说,我已经想知道OP在冒烟。传递值的地址而不声明“指向它的指针或变量”的“要求”充其量是似是而非的。@Peter我想他们只是想在将int写入file@M.M实际上代码非常庞大,由9个文件组成,其中,我只在一个文件中执行这些文件操作,有时我们需要将常量直接写入该位置。因此,基于此,我认为创建和使用临时变量始终不是正确的方法。
write_int(fd, 200);