在一行中创建指向值的指针
Create pointer to value in one line
我想在一行中创建一个指向值的指针;我想要与此相同的功能:
int i = MY_VALUE
int * j = &i;
然而,我想在一行中完成这项工作,而不想使用两个变量。我知道我可以做到:
int * i = new int (MY_VALUE);
但我不想使用动态记忆;我想使用静态内存。
有没有一种方法可以在一行中用一个变量静态地分配一个指向值的指针?
如果必须。。。
int i = 5, *p = &i;
否,不能有指向值的指针,只能有指向变量或对象(左值)指针。
为了详细说明,从C的角度,引用C11
第6.5.3.2章中关于&
算子的使用
一元
&
运算符的操作数应为函数指示符[]
或一元*
运算符,或指定不是位字段且为未使用寄存器存储类说明符声明。
所以,一些类似的东西
int * p = &10;
完全无效。
相关文章:
- 使用基类指针创建对象时,缺少派生类析构函数
- 如何在没有数据拷贝的情况下从指针创建一个Eigen VectorXd对象
- 如何从绝对地址的 C 样式指针创建对C++对象的引用
- 不明白使用双指针 (**) 创建 2d 动态数组
- 如何使用指向动态数组的静态指针创建类?
- Opencl:从 c 样式指针创建 UserEvent
- 从 uint16 指针创建垫子
- 如何为指针创建类型定义
- 从原始指针创建const_iterator会在 macOS 上产生编译错误
- 为什么可以使用指针创建新结构,但不能以相同的方式创建双精度?
- 是否可以在 c++17 中为 c 样式指针或原始指针创建弱指针
- 调用虚拟函数而不通过类类型指针创建任何对象
- 如何使用双指针创建指针数组?
- 使用指针创建类成员
- 如何使用成员函数指针创建模板类
- 从现有指针C 创建一个新对象
- 使用指针创建动态数组的问题
- 如何为指向数组的指针创建内存集?
- 使用共享指针创建的链表数组
- 使用C++ 11 中的模板类型的成员函数指针创建方法参数