日期:2014-05-20  浏览次数:20877 次

这里的^符号是做什么的?
例如红色代码部分,那里的^ 符号有什么作用啊??
VB.NET code

void CSQL::SetCommandParameter(System::Data::OleDb::OleDbCommand ^comm,ArrayList ^ params)
{
    [color=#FF0000]IEnumerator^ paramsEnum = params->GetEnumerator();[/color]
    int i=0;
    //将params中的参数添加到comm中
    while(paramsEnum->MoveNext())
    {
        comm->Parameters->Add("@P"+i.ToString(),paramsEnum->Current);
    }
}

int CSQL::Insert(System::String ^insertCommand)
{
    return this->ExcuteNonQuery(insertCommand,nullptr);
}

int CSQL::Insert(System::String ^insertCommand, ArrayList ^params)
{
    return this->ExcuteNonQuery(insertCommand,params);
}

int CSQL::Update(System::String ^updateCommand)
{
    return this->ExcuteNonQuery(updateCommand,nullptr);
}


------解决方案--------------------
managed c++的语法,表示的是托管的引用类型。

------解决方案--------------------
不是 managed c++ 语法
是 c++/cli 语法

微软 对 c++ 的 CLR 扩展, 有几个历史阶段

managed c++ 和 c++/cli 是两个时期

------解决方案--------------------
cli语法

是指向托管对象的指针

C++中内存分配需要自己管理

但是托管对象的指针不同,有net的垃圾收集管理
Car^ newCar = gcnew Car();
然后就不用管了:)