gpt4 book ai didi

c++ - #define 在 C++ 中的效用

转载 作者:太空狗 更新时间:2023-10-29 20:00:43 29 4
gpt4 key购买 nike

我刚刚通过读取文件中的值从 c++ 矩阵加法教程中找到了这段代码-

我想问一下#define在这里做什么?它有什么特别之处?这与在 main 中分别将 M 和 N 声明为 int 或 char 有何不同?

代码

#include <iostream>
#include <fstream>
using namespace std;

#define M 4
#define N 5

void matrixSum (int P[M][N], int Q[M][N], int R[M][N]);
void matrixSum (int P[M][N], int Q[M][N], int R[M][N]) {
for (int i=0; i<M; i++) // compute C[][]
for (int j=0; j<N; j++)
R[i][j] = P[i][j] + Q[i][j];
}

int main () {

ifstream f;
int A[M][N];
int B[M][N];
int C[M][N];

f.open("values"); // open file

for (int i=0; i<M; i++) // read A[][]
for (int j=0; j<N; j++)
f >> A[i][j];

for (int i=0; i<M; i++) // read B[][]
for (int j=0; j<N; j++)
f >> B[i][j];

matrixSum (A,B,C); // call to function

for (int i=0; i<M; i++) { // print C[][]
for (int j=0; j<N; j++)
cout << C[i][j] << " ";
cout << endl;
}
f.close();
}

最佳答案

const int M = 4;const int N = 5; 的想法让作者因惊人的 8 字节的内存,所以他使用 #define 代替。

关于c++ - #define 在 C++ 中的效用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285155/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com