c – 对每个以逗号分隔的对象执行成员函数

以下是 full listing的相关代码

#include "CImg.h"
using namespace cimg_library;

int main() {
  CImg<unsigned char> src("Tulips.jpg");
  int width = src.width();
  int height = src.height();
  int depth = src.depth();

  //New grayscale images.
  CImg<unsigned char> gray1(width,height,depth,1);
  CImg<unsigned char> gray2(width,1);

  // ... 

  (src,gray1,gray2).display("RGB to Grayscale");
}

线条如何(src,gray2).display(“RGB to Grayscale”);工作?如何将显示成员函数应用于逗号分隔列表中的每个对象?

解决方法

CImg重载operator,它返回一个 CImgList对象,该对象是一个包含作为操作数给出的两个CImg对象的列表.该对象还会重载运算符,以允许将CImg对象添加到列表中.

表达式(src,gray2)等价于((src,gray1),gray2).内部括号集(src,gray1)创建CImgList,然后(…,gray2)将gray2追加到该列表,返回对同一列表的引用. CImgList具有成员函数显示.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...