MyData *data = (MyData *) req->priv; data內數據改變,priv是否改變
时间: 2024-04-14 12:31:25 浏览: 123
根据你提供的代码片段,当你修改 `data` 内的数据时,`req->priv` 的值不会自动改变。这是因为 `data` 只是一个指向 `req->priv` 所指向的内存地址的指针,它们共享同一块内存。
当你修改 `data` 内的数据时,实际上是在修改 `req->priv` 所指向的内存中的数据。这意味着通过 `data` 访问和修改的数据,也会影响到 `req->priv`。但是,`req->priv` 本身的地址不会改变。
简而言之,`data` 和 `req->priv` 指向同一块内存,因此对于这块内存中的数据的修改会反映在两个指针上,但是它们本身仍然是不同的变量。
相关问题
typedef struct _Data{ int a; int b; }Data; //指针函数 Data* f(int a,int b){ Data * data = new Data; data->a = a; data->b = b; return data; } int main(int argc, char *argv[]) { QApplication a(argc, argv); //调用指针函数 Data * myData = f(4,5); qDebug() << "f(4,5) = " << myData->a << myData->b; return a.exec(); }
这段代码定义了一个结构体 Data,同时实现了一个指针函数 f,该函数返回一个 Data 类型的指针。在 main 函数中调用 f 函数,并将其返回值赋值给 myData 指针。最后输出 myData 指针所指向的结构体中的成员变量 a 和 b。同时,该代码中使用了 Qt 框架中的 QApplication 类,用于创建一个应用程序对象 a,并执行其 exec() 函数,启动事件循环。
myData *db = myData::getMyData(); string sql = "SELECT * FROM car"; int row = 0, col = 0; char ** qres; db->getData_exec(sql.c_str(), row, col, qres); vector<myData> data_list;遍历数据库
的查询结果,将结果存储在一个vector<myData>类型的变量data_list中:
for (int i = 0; i < row; i++) {
myData data;
for (int j = 0; j < col; j++) {
if (qres[i * col + j] != NULL) {
if (j == 0)
data.id = atoi(qres[i * col + j]);
else if (j == 1)
data.name = qres[i * col + j];
else if (j == 2)
data.color = qres[i * col + j];
else if (j == 3)
data.price = atof(qres[i * col + j]);
}
}
data_list.push_back(data);
}
在这段代码中,我们先定义了一个vector<myData>类型的变量data_list,用来存储查询结果。然后用for循环遍历查询结果,每次循环都创建一个myData类型的变量data,用来存储当前这一行的数据。
在内层的for循环中,我们根据列的编号,将查询结果中的值赋给myData对象的对应属性。需要注意的是,我们在赋值之前,先判断查询结果中的值是否为NULL,如果是NULL,则不进行赋值操作。
最后,将myData对象添加到data_list中,完成遍历。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)