小编Mar*_*wis的帖子

IDL静态接口

对于WinRT,IDL现在支持如下构造:

[marshaling_behavior(agile)]
[threading(both)]
[activatable(0x06020000)]
[version(0x06020000)]
[static(Windows.Networking.Sockets.IDatagramSocketStatics, 0x06020000)]
runtimeclass DatagramSocket
{
    [default] interface Windows.Networking.Sockets.IDatagramSocket;
    interface Windows.Foundation.IClosable;
}
Run Code Online (Sandbox Code Playgroud)

我对这个static属性感到好奇.这是什么意思?它如何与主体内部列出的接口相关runtimeclass

idl interface windows-runtime

3
推荐指数
2
解决办法
1441
查看次数

嵌套模板中的operator =(T*r)

我有一个关于嵌套模板和赋值运算符重写的问题.假设我想要一个引用计数类模板_reference.这个_reference现在只是保存一个指向ref-counting对象的指针.现在的问题是,只要我使用简单的类或结构进行此操作,这一切都可以正常工作.例如._reference ...,

但是现在我想创建一个类模板,它是对std-vector的引用,它转发了它所拥有的类.

不,我只是发布代码:(它现在没有做引用和那些东西,它只是提取我​​遇到的问题)

template <typename T>
class _reference
{
private:
    T* p_;

public:

// !!! this assignment seems only to work, when T is no class template already...
void operator= (T* r)                   
{
    p_ = r;
}

// WHILE this ALWAYS works as well...
void simplySetIt (T* r)                 
{
    p_ = r;
}
};

template <typename T>
class _ref_vector : public _reference<vector<T> >
{
};

void test2 ()
{
_reference<vector<long> > ref_ptr2;
_ref_vector<long>         ref_ptr3;

ref_ptr2 = new vector<long>;                    // …
Run Code Online (Sandbox Code Playgroud)

c++ templates nested assignment-operator

2
推荐指数
1
解决办法
259
查看次数

潜在的空引用

我正在使用一个开源的json解析器,但在编译它时给我解除引用警告.

MyProject/Classes/SBJSON.m:403:13潜在的空取消引用.根据"创建和返回NSError对象"中的编码标准,参数"error"可以为null

- (BOOL)scanValue:(NSObject **)o error:(NSError **)error
{
skipWhitespace(c);

switch (*c++) {
    case '{':
        return [self scanRestOfDictionary:(NSMutableDictionary **)o error:error];
        break;
    case '[':
        return [self scanRestOfArray:(NSMutableArray **)o error:error];
        break;
    case '"':
        return [self scanRestOfString:(NSMutableString **)o error:error];
        break;
    case 'f':
        return [self scanRestOfFalse:(NSNumber **)o error:error];
        break;
    case 't':
        return [self scanRestOfTrue:(NSNumber **)o error:error];
        break;
    case 'n':
        return [self scanRestOfNull:(NSNull **)o error:error];
        break;
    case '-':
    case '0'...'9':
        c--; // cannot verify number correctly without the first character
        return [self scanNumber:(NSNumber **)o error:error];
        break; …
Run Code Online (Sandbox Code Playgroud)

memory-leaks dereference ipad ios4

2
推荐指数
1
解决办法
1432
查看次数

IMetaDataImport和WinRT运行时类接口

在Visual Studio 2012附带的MS IDL版本中,对WinRT的支持添加了以下构造:

        [activatable(Windows.Networking.Sockets.IControlChannelTriggerFactory,
                     0x06020000)]
        [threading(mta)]
        [marshaling_behavior(agile)]
        [version(0x06020000)]
        runtimeclass ControlChannelTrigger
        {
            [default] interface Windows.Networking.Sockets.IControlChannelTrigger;
            interface Windows.Foundation.IClosable;
        }
Run Code Online (Sandbox Code Playgroud)

我正在使用IMetaDataImport来分析winmd文件中的所有类型.如何找出"运行时类"实现的接口以及默认接口的接口?

reflection idl windows-runtime

2
推荐指数
1
解决办法
463
查看次数

如何在vc ++中重新启动一个线程,我已经使用CreateThread创建了它

我正在使用vc ++并使用CreateThread函数创建一个线程.可以在完成任务后返回后重新启动它.

multithreading visual-c++

1
推荐指数
1
解决办法
2444
查看次数