小编bit*_*tek的帖子

如何有效地将std :: atomic <>用于非原始类型?

这些定义std::atomic<>似乎表明其对原始或POD类型的明显有用性.

你什么时候才能将它用于课堂?

什么时候应该避免将它用于课堂?

c++ multithreading thread-safety c++11

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

验证在App购买中的收据

我一直在玩应用程序购买几天,一切正常,直到我尝试通过应用程序商店验证收据,因为我经常回到无效状态.

我将收据数据传递给我的PHP服务器,然后从那里转发到应用商店,一旦得到有效的响应,我打算将收据数据添加到我的数据库.

商店套件编程指南和类引用对于这个特定区域来说并不是没用,因为它们并没有真正给你任何类型的例子,我确实找到了一篇有用的文章,它帮了我一点但有些东西仍然是错误的.

基本上我想知道是否有工作收据验证的人愿意分享他们的代码,因为我无处可去.

谢谢

php iphone objective-c storekit in-app-purchase

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

我应该使用cstdint吗?

我一直在思考是否应该在内部使用typedef <cstdint>.

我个人比较喜欢写uint32_tunsigned intint8_tchar等...因为这对我来说是一个很大更加直观.

你们有什么感想?是否使用typedef是一个好主意 <cstdint>?有什么缺点吗?

c++ cstdint

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

这是C++'move'语义的正确用法吗?

今晚我一直在看一些我过去几天一直在研究的代码,并开始阅读移动语义,特别是std :: move.我有几个问题要求专业人士确保我走正确的道路而不做任何愚蠢的假设!

首先:

1)最初,我的代码有一个返回大向量的函数:

template<class T> class MyObject
{
public:
    std::vector<T> doSomething() const;
    {
        std::vector<T> theVector;

        // produce/work with a vector right here

        return(theVector);
    }; // eo doSomething
};  // eo class MyObject
Run Code Online (Sandbox Code Playgroud)

鉴于"theVector"在这个和"扔掉"中是暂时的,我将该函数修改为:

    std::vector<T>&& doSomething() const;
    {
        std::vector<T> theVector;

        // produce/work with a vector right here

        return(static_cast<std::vector<T>&&>(theVector));
    }; // eo doSomething
Run Code Online (Sandbox Code Playgroud)

它是否正确?这样做有什么陷阱吗?

2)我在一个函数中注意到它返回std::string它自动调用移动构造函数.调试返回字符串(thankyou,Aragorn),我注意到它称为显式移动构造函数.为什么有一个字符串类而不是矢量?

我没有必要对此函数进行任何修改以利用移动语义:

// below, no need for std::string&& return value?
std::string AnyConverter::toString(const boost::any& _val) const
{
    string ret;
    // convert here
    return(ret); // No …
Run Code Online (Sandbox Code Playgroud)

c++ c++-standard-library move-semantics c++11

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

移动或命名返回值优化(NRVO)?

可以说我们有以下代码:

std::vector<int> f()
{
  std::vector<int> y;
  ...
  return y;
} 

std::vector<int> x = ...
x = f();
Run Code Online (Sandbox Code Playgroud)

看来编译器有两种方法:

(a)NRVO:Destruct x,然后构造f()代替x.
(b)移动:在temp空间中构造f(),将f()移动到x,destruct f().

根据标准,编译器是否可以自由使用这两种方法?

c++ optimization move-semantics return-value-optimization c++11

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

如何在没有用户输入的情况下创建Android RFCOMM套接字?

这是场景:

我需要编写一个Android应用程序来创建一个带有蓝牙适配器的PC的RFCOMM插槽(我也要编写服务器).

我的要求是用户不必手动配对设备.

实际上,有一个大黑客,我正在使用createInsecureRfcommSocket.

一个小场景:我有一个Android应用程序,它与一个打开了RFCOMM套接字的Linux盒子交换信息.我可以在设备上手动设置PIN(硬编码是一种选择)

我正在寻找不同的道路:

编写JNI包装器

如已完成在这里的最大凯勒曼,我可以写一个JNI层,使所有配对阶段.这应该是一个不错的选择,但是有一个问题:

NDK 4b不提供libbluetooth库,因此-lbluetooth失败,以及NDK v.3.

选项:

  1. 找到NDK 1.5(包括lib bluetooth).经过几天的网络搜索,我一直无法找到答案.有人知道我能在哪里找到它吗?
  2. 自己编译libbluetooth for Android并将它们用于-lbluetooth.没有幸运,我无法建造它们.任何提示?

使用API​​公开的内容

任何人都知道如何使用createRfcommSocketToServiceRecord并让用户不要手动配对设备?可能吗?我应该怎么写服务器?

我不知道的东西

也许(肯定!)有一些我不知道的东西.也许我可以用别的东西?不是RFCOMM?SDP?

也许我可以手动配对Android API?

我希望已经足够清楚,如果不是只是问.再次,因为这不是第一次,我在你的手中:)

感谢所有支持人员!

java-native-interface android bluetooth android-ndk rfcomm

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


应该std :: move drop constness?

以下代码在MSVC2010上编译并运行,是吗?

const std::string s = "foo";
std::string s2(std::move(s));
Run Code Online (Sandbox Code Playgroud)

我可以看出为什么这可能不会破坏任何东西,因为如果我采用s的内部我必须知道没有人会使用它所以我不得不放弃const.然而,编译器在ROM(在嵌入式应用程序中)实现const对象的位置呢?那么此举会变成副本吗?或者MSVC应该给我一个错误?

c++ const move-semantics c++11

25
推荐指数
2
解决办法
2125
查看次数

项目树中的google-services.json位置

我正在阅读本手册,我不确定应该在哪里复制文件google-services.json?有很多文件夹包含一个app文件夹,我正在尝试开发它android wear.任何指南都会非常棒.到目前为止我已经把它放在这里: 在此输入图像描述

链接到教程

android google-cloud-messaging

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

你有没有在实际工作中使用过boost :: tribool?

tribool让我成为Boost最奇怪的角落之一.与使用枚举相比,我看到它有一些方便性,但枚举也可以轻松扩展,代表3种以上的状态.

你用现实世界的方式使用tribool吗?

c++ boost

18
推荐指数
4
解决办法
8170
查看次数