作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我遇到了这段代码
int n1 = 10;
int n2 = (int &)n1;
我不明白这个转换的含义,n2 不是引用,因为修改 n1 不会反射(reflect) n1。奇怪的是,这段代码在 gcc 中抛出编译器错误,而在 VC++ 中编译正常。
有人知道这个转换的含义吗?
最佳答案
这是完全有效的 C++ 代码,并且可以使用 g++ 4.4.1 进行编译。它创建一个对 n1 的临时引用,然后使用该引用引用的值来初始化 n2。
如果将其表示为函数,可能更容易理解:
void f( int & n1 ) {
int n2 = n1; // initialise with valuue referred to by n1
}
请注意,这不是有效的 C 代码,因为 C 不支持引用。
关于c++ - 铸件内的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1952471/
当您使用包装类将基元转换为对象时,是否有名称?我假设这也被称为转换正确? 最佳答案 这称为自动装箱。例如。 Integer i = 5; // i is an object but has a p
我是 C 语言和指针的新手,我对这个函数声明感到困惑: void someFunction(int (*)(const void *, const void *)); 谁能通俗地解释一下这是做什么的以
我是一名优秀的程序员,十分优秀!