行指针不能给行指针赋值
时间: 2024-03-30 18:30:55 浏览: 31
行指针是指向二维数组中某一行的指针。由于二维数组在内存中是按行存储的,所以行指针可以用来访问二维数组中的某一行。然而,行指针本身是一个指针变量,它存储的是一个地址值,指向二维数组中的某一行的首元素。
行指针不能给行指针赋值的原因是,行指针是一个常量指针,它的值在初始化时就确定了,并且不能再改变。也就是说,一旦行指针指向了某一行的首元素,就不能再改变它指向的位置。
如果需要改变行指针的指向,可以通过修改指针变量的值来实现。例如,可以将行指针重新指向另一行的首元素,但不能直接将一个行指针赋值给另一个行指针。
相关问题
C++指针赋值给指针
在C++中,指针是一种特殊类型的变量,它存储了一个内存地址。指针赋值给指针,就是将一个指针变量的值(也就是它所存储的地址)赋值给另一个指针变量。这个过程很简单,只需要使用赋值运算符“=”将一个指针变量的值赋给另一个即可。
例如,假设我们有两个指针变量p和q,它们分别指向不同的内存地址。如果我们想要将p指向的内存地址赋给q,可以使用以下代码:
```
q = p;
```
这样,q就会指向与p相同的内存地址。
父类指针 赋值 给 子类指针
在面向对象编程中,父类指针可以指向子类对象,这是因为子类对象也是父类对象的一种,子类对象继承了父类的所有属性和方法。因此,可以通过父类指针访问子类对象的方法和属性。
父类指针可以通过向下转型的方式赋值给子类指针,向下转型是指将父类指针强制转换为子类指针的过程。在进行向下转型之前,需要先进行动态类型检查,确保父类指针所指向的对象是子类对象。如果父类指针指向的不是子类对象,转换会失败并抛出异常。
示例代码如下:
```
class Parent {
public:
virtual void foo() { cout << "Parent::foo" << endl; }
};
class Child : public Parent {
public:
void foo() override { cout << "Child::foo" << endl; }
};
int main() {
Parent* p = new Child();
Child* c = dynamic_cast<Child*>(p);
if (c != nullptr) {
c->foo(); // 输出 Child::foo
}
delete p;
return 0;
}
```
在上述代码中,首先创建了一个指向 Child 对象的 Parent 指针 p。然后通过动态类型转换,将 p 赋值给了 Child 指针 c,并成功调用了 Child 对象的 foo 方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)