Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 作为实例变量创建的对象是否自动计数?_Visual C++_Reference_Windows Runtime_C++ Cx - Fatal编程技术网

Visual c++ 作为实例变量创建的对象是否自动计数?

Visual c++ 作为实例变量创建的对象是否自动计数?,visual-c++,reference,windows-runtime,c++-cx,Visual C++,Reference,Windows Runtime,C++ Cx,我的类中的一个实例变量是另一个ref类的对象。据我所知,这工作正常,但我担心如果不显式调用ref new Foo(…),引用计数将无法正确初始化。我的担心是对的,还是说我是清白的 示例代码 ref class Foo { public: Foo(); virtual ~Foo(); } ref class Bar { public: Bar(); virtual ~Bar();

我的类中的一个实例变量是另一个ref类的对象。据我所知,这工作正常,但我担心如果不显式调用
ref new Foo(…)
,引用计数将无法正确初始化。我的担心是对的,还是说我是清白的

示例代码

 ref class Foo {
     public:
         Foo();
         virtual ~Foo();
 }

 ref class Bar {
     public:
         Bar();
         virtual ~Bar();

         Foo _myNewFoo;
 }

myNewFoo会导致泄漏吗?还是这样好?

汉斯·帕桑用合适的答案对最初的问题进行了评论:

它是C++/CX。此代码没有问题,\u myNewFoo的ref计数 将正确初始化


你的标签帮不上忙。这不是C++。而且它不是winapi。这是C++/CLI,不是吗?你应该这么说。它是C++/CX。此代码没有问题,将正确初始化_myNewFoo的ref计数。更大的问题是,为什么要声明看起来不像导出到其他WinRT语言所需的类的ref类。只需要使用简单的C++类来满足自己的需要。我不知道WiAPI到底指什么,所以我去掉了那个标签,但是这肯定是C++ + CX或Visual C++(取决于你问的人)。@汉斯潘:谢谢你的回答。如果你真的把它作为我问题的答案,我会把它标记为已解决。至于你的第二部分——这些只是演示类。在我真正的类中,我肯定充分利用了其他WinRT API。唉,我跟不上这些语言扩展!!我认为winapi是针对win32的。我会用winrt标签代替。