小编use*_*038的帖子

如何在不使用Eclipse的情况下使用资源添加Android库

我想设置Android v7 appcompat库以使用ActionBar.在

http://developer.android.com/tools/support-library/setup.html#

有一个教程如何使用Eclipse添加带有资源的库.由于我不使用Eclipse,因此我想通过手动编辑和复制所需文件来添加库和附带的资源.任何人都可以为我提供这些必要的步骤吗?

eclipse android

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

成员函数的显式模板特化

我有以下最小示例:

class A
{
  template<typename X, typename Y>
  void f()
  { }

  template<>
  void f<int, char>()
  { }
};
Run Code Online (Sandbox Code Playgroud)

编译器给出错误信息

 explicit specialzation in non-namespace scope.
Run Code Online (Sandbox Code Playgroud)

为什么这是错误的,我该如何解决?

c++ templates

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

私有构造函数和 make_shared

我有一个带有私有构造函数的单例类。在静态工厂方法中,我执行以下操作:

shared_ptr<MyClass> MyClass::GetInstance()
{
    static once_flag onceFlag;

    call_once(onceFlag, []() {
        if (_instance == nullptr)
            _instance.reset(new MyClass());
    });

    return _instance;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用

_instance = make_shared<MyClass>();
Run Code Online (Sandbox Code Playgroud)

该代码无法编译。我的问题是:为什么new可以调用私有构造函数却make_shared不能?

c++ shared-ptr

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

正确地专门化函数模板的正确方法

我对函数的显式模板特化的语法略感困惑.

假设我有以下内容:

template<class T> 
void f(T t)
{}
Run Code Online (Sandbox Code Playgroud)

我知道,对于明确的专业化,我需要提供template <>,否则我会超载.以下两个编译:

// (a)
template<> 
void f<int>(int t)
{}

//(b)
template<> 
void f(int t)
{}
Run Code Online (Sandbox Code Playgroud)

但是,(a)和(b)之间有什么区别?

c++ templates

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

标签 统计

c++ ×3

templates ×2

android ×1

eclipse ×1

shared-ptr ×1