用于保存不同值C ++的数据类型

时间:2012-11-11 07:03:12

标签: c++

我想知道如何在一个函数中加载一些图像并将它分配给一个变量,这样我就可以调用它们并保存这些图像的信息。

例如:

src = tile1.png
x = 10
y = 11

我需要什么样的数据类型?

我的目标是遍历文本文件中的行,使用相关信息加载每个图像,以便预先加载图像并准备好在屏幕上显示。我只是有点坚持它将如何完成。

2 个答案:

答案 0 :(得分:2)

如果要滚动自己的系统,可以创建一个抽象的基础Image类。然后为您要处理的每种图像类型创建一个具体的子类(例如ImageJpegImagePng)。然后,这些具体的子类可以是像libjpeglibpng这样的图像加载库的简单包装器。有一个工厂函数,它创建一个具体对象但返回抽象类的std::shared_ptr。这些可以存储在标准容器中,例如std::vector

然而,已经存在许多现有的图像库,两者都是特定的(如上面提到的libjpeg / libpng)和泛型(如SDL_ImageBoost GIL)。其中一些已经有了C ++类,有些则不需要被你包裹。

答案 1 :(得分:1)

A struct

示例:

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

struct a_new_datatype{

    string name;
    int age;
    char gender;


};

int main(){

    a_new_datatype my_own_datatype;

    my_own_datatype.name = "Christopher";
    my_own_datatype.age = 34;
    my_own_datatype.gender = 'M';

    cout << "Name: " << my_own_datatype.name << endl;
    cout << "Age: " << my_own_datatype.age << endl;
    cout << "Gender: " << my_own_datatype.gender << endl;

    return 0;
}