c++ - 如何检查 3d 数组的元素是否为空?
问题描述
我有一个填充的 3d 数组和一个打印每个 2d 数组的选定行的函数,但是如果选定的行(从第一个数组开始)为空,它应该打印“行为空”,我不知道如何检查是否它是空的。我尝试了以下方法:
void printrow(int X[][4][5], int row){
if(X[0][row][0]==0){
cout <<"row empty";
}
else{
for(int i=0; i < 4; i++){
for(int j=0; j < 5;j++){
cout << X[i][row][j] << " ";
}
}
cout << endl;
}
}
也许我应该使用指针?如果是,该怎么做?
解决方案
您可以使用std::optional
void printrow(std::array<std::array<std::array<std::optional<int>, 3>, 4>, 5> X, int row){
if(!X[0][row][0].has_value()){
cout <<"row empty";
}
else{
for(int i=0; i < 4; i++){
for(int j=0; j < 5;j++){
cout << X[i][row][j].value() << " ";
}
}
cout << endl;
}
}
推荐阅读
- sql - 添加额外的计算列以查看,表中不存在
- python - 我可以登录但不能双击本地网页的元素来提取结果页面/使用 selenium:python
- python - 是否有一种矢量化方式来检查 DataFrame 中的值(例如,如果所有内容都是长度为 0 的字符串)
- visual-studio-code - 如何在 linux 中离线安装 vscode-server
- azure-spatial-anchors - 尝试在 iOS 上查找以前保存的 Azure 空间锚时遇到问题
- php - 如何理解 php 代码中的“if(!($value%2))”?
- arrays - 创建和操作数组数组
- python-3.x - 是否可以将 sklearn 估计器放在 sklearn.compose.ColumnTransformer 中?
- mongodb - 同一文档中和文档之间的 Concat 数组
- shopify - 无论如何要显示在shopify中提交联系表的用户?