0
我在CLI這段代碼如何複製到一個列表?
List<Codec^> ^GetCodecs()
{
List<Codec^> ^l = gcnew List<Codec^>;
bool KeepLooping = Encoder_MoveToFirstCodec();
while (KeepLooping)
{
Codec ^codec = gcnew Codec(); // here... and that call encoder_init many times... which call register codec many times... which is a mass...
codec->Name = gcnew String(Encoder_GetCurrentCodecName());
codec->Type = Encoder_GetCurrentCodecType();
char pix_fmts[200]; // array of 200 is probably enough
int actual_pix_fmts_sz = Encoder_GetCurrentCodecPixFmts(pix_fmts , 200);
for (int i = 0 ; i < actual_pix_fmts_sz ; i++)
{
//copy from pix_fmts to the :List
codec->SupportedPixelFormats->Add(pix_fmts[i]);
}
這是Encoder_GetCurrentCodecPixFmts功能在C:
int Encoder_GetCurrentCodecPixFmts(char *outbuf , int buf_sz)
{
int i=0;
while ((i<buf_sz) && (codec->pix_fmts[i]!=-1))
{
outbuf[i] = codec->pix_fmts[i];
i++;
}
return i;
}
這是一類新我所做的:
#pragma once
using namespace System;
using namespace System::Collections::Generic;
public ref class Codec
{
public:
String^ Name;
int ID; // this is the index
int Type; // this is the type
List<int> ^SupportedPixelFormats;
Codec(void)
{
SupportedPixelFormats = gcnew List<int>;
// do nothing in the constructor;
}
};
其中包含也是: SupportedPixelFormats 在這個新類的構造函數應該是空的,但我需要的地方,以便爲列表中進行NE實例W爲列表。
現在在C++我需要從pix_fmts字符數組轉移到codec->支持 或者從pix_fmts複製到:列表
,所以我做如上:
codec->SupportedPixelFormats->Add(pix_fmts[i]);
但我我不確定這是否意味着複製。
,對不對我做了什麼?
@ H2CO3你知道當你與水混合酸會發生什麼:d – Shark 2013-05-08 20:24:04