小编Cou*_*per的帖子

在`enable_if`中查找要使用的`is_allocator`类型特征

是否有"足够"可靠的方法来检测模板参数中的分配器.也就是说,我需要一些is_allocator类型特征,可用于enable_if:

假设有一个类模板future(带模板参数T):

    // Default ctor with allocator
    template <class Alloc, class... Args
        class Enable = typename std::enable_if<
            is_allocator<Alloc>::value
            and std::is_constructible<T, Args...>::value
        >::type
    >
    future(const Alloc& a, Args&&... args)
    : _shared_value(std::allocate_shared<T>(a, std::forward<T>(args...))
    {
    }



    // Default ctor (without allocator)
    template <class... Args
        class Enable = typename std::enable_if<
            std::is_constructible<T, Args...>::value
        >::type
    >
    future(Args&&... args)
    : _shared_value(std::make_shared<T>(std::forward<T>(args...))
    {
    }
Run Code Online (Sandbox Code Playgroud)

在这里,_shared_value是一个std::shared_pointer<T>.

templates sfinae enable-if template-meta-programming c++11

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

别名模板的部分专业化

不允许使用别名模板的部分特化:

例如,尝试创造性,在clang中产生此错误:

template <typename T>
using unwrapped_future_t = T;

template <typename T>
using unwrapped_future_t<future<T>> = typename future<T>::value_type;
                        ^~~~~~~~~~~
> error: partial specialization of alias templates is not permitted
Run Code Online (Sandbox Code Playgroud)

为什么不允许这样做?

c++ templates partial-specialization template-specialization c++11

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

在数组上映射一个 void(不返回函数)

标题是不言自明的,是否有任何映射方式,例如,addGestureRecognizerUIGestureRecognizers. 我一直在摆弄

recognizers.map(MyWebOutlet.addGestureRecognizer)
Run Code Online (Sandbox Code Playgroud)

但是由于内置 map 必须返回另一个数组,因此需要一个返回某种值的函数。我应该包装addGestureRecognizer另一个返回函数还是另一种更聪明的方法?

arrays dictionary uigesturerecognizer ios swift

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

NSURLConnection获取请求

我遇到了NSURLConnection,我之前使用它,只是根据请求,获取数据并解析它.但是这次Web开发人员已经开发了GET和POST请求.

我想通过许多教程和堆栈问题,并试图获得所需的结果.正如我所看到的,有时请求,就像这样

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"URL"]
                                                       cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                   timeoutInterval:10];

[request setHTTPMethod: @"GET"];

NSError *requestError;
NSURLResponse *urlResponse = nil;


NSData *response1 = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&requestError];
Run Code Online (Sandbox Code Playgroud)

我见过的其他人也很少.

我看起来很容易,但我无法找到任何POST和GET请求所需的内容.

我从网络开发者那里收到的数据是

SOAP 1.2


POST /DEMOService/DEMO.asmx HTTP/1.1
Host: projects.demosite.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
Run Code Online (Sandbox Code Playgroud)

作为回报,将有GET和POST

以下是HTTP GET请求和响应示例.显示的占位符需要替换为实际值.

     GET /DEMOService/DEMO.asmx/VerifyLogin?username=string&password=string&AuthenticationKey=string HTTP/1.1


    Host: projects.demosite.com
Run Code Online (Sandbox Code Playgroud)

我很了解NSURLConnections的代表,他们正在关注..

#pragma mark NSURLConnection Delegate Methods

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
// A response has been received, this is where we initialize the instance var you created
// so that …
Run Code Online (Sandbox Code Playgroud)

nsurlconnection ios

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

4.5.1也是4.0和4.5的就地升级吗?

现在我们有.NET framework 4.5.1.只是想知道4.5.1是否也是4.0和4.5的"就地升级"?

.net c# .net-4.5

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

编译器无法推断返回类型

Swift无法推断函数的返回类型,其参数是闭包,并且返回类型是从闭包的返回类型推导出来的.

鉴于此通用类:

class Bar<T> {
    init(_ v:T) {}

    func wrap<R>(f:()->R) -> Bar<R> {
        return Bar<R>(f())
    }
    func wrap(f:()->()) -> () {
        f()
    }
}
Run Code Online (Sandbox Code Playgroud)

wrap一旦将Closure作为返回的参数(),并且另一次将Closure作为参数返回指定为R函数的类型参数()的类型,该函数被重载.

在下面的代码片段中,很明显Closure作为参数传递给函数的返回类型wrapString:

var bar :Bar<Int> = Bar<Int>(0)

let b0 = bar.wrap {
    return ""
}
Run Code Online (Sandbox Code Playgroud)

恕我直言,编译器现在应该能够推断出类型的返回wrap类型Bar<String>,因此应该能够相应地推断出常量的类型b0.

编译器(从beta 3开始)发出以下错误:

main.swift:53:16: error: type '()' does not conform to protocol 'StringLiteralConvertible'
    return ""
           ^
main.swift:51:9: warning: constant 'b0' inferred to have type '()', which …
Run Code Online (Sandbox Code Playgroud)

generics swift

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

强制异步任务按顺序运行

我正在使用图像将图像保存到照片库ALAssetsLibrary.当它进入循环时,它同时运行并导致内存问题.如何在不引起内存问题的情况下运行它

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
for(UIImage *image in images){
    [library writeImageToSavedPhotosAlbum:[image CGImage] 
                              orientation:(ALAssetOrientation)[image imageOrientation]       
                          completionBlock:^(NSURL *assetURL, NSError *error) 
    {
        ... //
    }];
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios alassetslibrary

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