小编je4*_*e4d的帖子

哪些Boost库利用Move Semantics

Rvalue引用和Move语义是一个主要的C++ 11特性,它可以通过减少不必要的副本来显着加速代码.当使用c ++ 11/0x编译器时(例如gcc 4.6),STL已更新为使用此新功能

Boost 1.48引入了一个新的库,以便在旧的C++ 03编译器上模拟移动语义.这个库通过引入宏来扩展为真正的右值引用,当使用C++ 11编译器编译代码或使用C++ 03编译器编译代码时模拟rvalue引用.

除了boost::container更新任何其他的boost库以利用移动语义之外呢?

是否有一个路线图详细说明何时/如果将移动语义添加到其他boost库?

boost::multi_index_container已经提到在Boost.MultiIndex Future工作中添加了移动语义 ,因为它是在1.31版本中引入的.

c++ boost rvalue-reference move-semantics c++11

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

通过显式转换函数初始化枚举类类型的静态constexpr类成员

我在g ++ 4.8.1和clang ++ 3.4的行为之间存在差异.

我有一个A文字类型的类,它有一个explicit constexpr转换函数可以输入enum class E.

Gcc允许我在某些情况下使用转换函数从constexpr类型E的常量表达式初始化类型A的变量,但不是在变量是静态类成员时(e2下面)

Clang拒绝所有上下文(e1,e2e3)中的初始化.

根据[over.match.conv]p1使用显式转换功能可以在这里

enum class E { e };
struct A { explicit constexpr operator const E() const noexcept { return E::e; } };

constexpr E e1{A{}};                      // Gcc: OK, Clang: Error
struct B { static constexpr E e2{A{}}; }; // Gcc: Error, Clang: Error
void f() { static …
Run Code Online (Sandbox Code Playgroud)

c++ constexpr c++11 enum-class

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

扩展精度浮点库C/C++

我正在寻找具有以下功能的扩展精度浮点库:

  • 固定数据类型大小(即扩展精度浮点数需要固定数量的内存)
  • 变量不需要初始化
  • 指定尾数和指数的大小
  • C/C++接口
  • 支持非常大的浮动> 10 ^ 10000

我能找到的最接近的是Ivano Primi的HPA图书馆.这个库的唯一问题是我不能扩展指数(它用15位固定).它允许我对尾数进行各种选择,但最大可表示的数字总是限制在10 ^ 4932.其他库(如GMP)需​​要初始化,不允许使用固定大小的数据类型.关键是我不需要任意精度,只是扩展.但我需要拥有非常大的指数.

谢谢你的帮助!

标记

c c++ floating-point numbers numeric

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

完成传输后将文件移动到另一个目录

我有一个视频编码脚本,我想在文件移动到特定目录后立即运行.

如果我使用像inotify这样的东西,我如何确保文件在完成移动之前不进行编码?

我考虑过这样做:

  • 将(rsync)文件复制到临时目录中.
  • 完成后,将(简单的'mv')移动到encode目录中.
  • 让我的脚本监视编码目录.

但是,如何使第2步正常工作并且仅在#1完成后运行?

我正在使用Ubuntu Server 11.10,我想使用bash,但如果能够简化问题,我可以说服我使用Python.

我不是将文件"下载"到这个目录中; 相反,我绝大多数时间都会使用rsync.

此外,此Ubuntu服务器正在VM上运行.

我通过NFS从FreeBSD服务器安装了我的主文件存储.

python bash ubuntu file-monitoring

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

将局部变量绑定到闭包的最便宜的方法

我相信以下是将局部变量绑定到闭包的最便宜的方法:

void ByRValueReference(A&& a) {
}

std::function<void ()> CreateClosureByRValueReference() {
  A a;
  std::function<void ()> f = std::bind(&ByRValueReference, std::move(a)); // !!!
  return f;
}
Run Code Online (Sandbox Code Playgroud)

但是,它不能在Clang 3.1下编译:

error: no viable conversion from '__bind<void (*)(A &&), A>' to 'std::function<void ()>'
Run Code Online (Sandbox Code Playgroud)

和gcc 4.6.1:

/usr/include/c++/4.6/functional:1778:2: error: no match for call to ‘(std::_Bind<void (*(A))(A&&)>) ()’
Run Code Online (Sandbox Code Playgroud)

我违反了标准,还是只是破坏了标准库?

c++ c++11

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

如何使用LINQ查询平均DateTime字段?

我有一个数据库,在DateTime字段中有以下记录:

2012-04-13 08:31:00.000
2012-04-12 07:53:00.000
2012-04-11 07:59:00.000
2012-04-10 08:16:00.000
2012-04-09 15:11:00.000
2012-04-08 08:28:00.000
2012-04-06 08:26:00.000
Run Code Online (Sandbox Code Playgroud)

我想运行linq to sql查询以从上面的记录中获取平均时间.我尝试了以下方法:

(From o In MYDATA Select o.SleepTo).Average()
Run Code Online (Sandbox Code Playgroud)

由于"SleepTo"是一个日期时间字段,我在Average()上得到一个错误.如果我试图得到一个整数的平均值,上面的linq查询工作.

我需要做些什么才能让它在日期时间内工作?

c# linq linq-to-sql

5
推荐指数
2
解决办法
4382
查看次数

Google Maps自动完成,但仅适用于街道地址名称

我目前开始使用Google Maps v3 API,我想知道是否可以使用自动填充功能仅自动填充街道地址名称吗?

我目前正在使用此代码:

$(document).ready(function(){
    var options = {
      types: ['(cities)'],
      componentRestrictions: {country: "ar" }
     };

 var input = document.getElementById('laboral_calle');

 var autocomplete = new google.maps.places.Autocomplete(input, options);

});
Run Code Online (Sandbox Code Playgroud)

但目前无法使用。

我需要设置一个固定的州和一个固定的城市,以仅在文本字段中显示街道名称建议。

可能吗?

jquery autocomplete google-maps-api-3

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

更新应用程序是否清除共享偏好或删除应用程序设置的警报?

我已经在谷歌商店发布了我的应用程序,现在我想更新它.

但我想确保我的应用程序共享首选项中不会丢失存储的数据.我还在我的应用程序中设置了一些警报,它会启动通知,我也不想丢失它们.

我不确定更新应用程序的工作原理?它会改写这些东西吗?无论如何,我可以在全球发布之前对其进行测试吗?

我要指出,我在这个版本中所做的更改含有清单中有些变化:我改变targetSdkVersionminSdkVersion(它曾经有过minSdk=8,现在我把它改成4和添加targetsdk=15),我给了一个进程名我alarmservice(这是一个intentservice到设置警报但后来决定更改它,它现在没有进程名称.

android alarmmanager sharedpreferences

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

iOS无法获得人的形象

我有两个tableViewControllers.第一个有联系人列表.另一个显示详细的人的信息.

第一个tableViewController的一大块代码

ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
NSArray *allPeople = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source,kABPersonSortByFirstName);
for ( int i = 0; i < [allPeople count]; i++ )
{
    ...
    contactClass = [[ContactClass alloc] initWithName:name surName:surName manID:[allPeople objectAtIndex:i]];
    ...
}
Run Code Online (Sandbox Code Playgroud)

第二个tableViewController的代码块

ABRecordRef person = (__bridge  ABRecordRef)contactClass.manID;
BOOL isHasImage = ABPersonHasImageData(person);
Run Code Online (Sandbox Code Playgroud)

变量isHasImage始终为false,即使联系人具有头像.我甚至在第一个tableViewController上检查了这个,如果有人有头像,那么它返回true和image.

有谁知道为什么我不能得到联系人图像?

ps contactClass.manID是的类型id.它有一个正确的地址,因为ABMultiValueRef multiValue = ABRecordCopyValue((__bridge ABRecordRef)contactClass.manID, kABPersonPhoneProperty);在第二个tableViewController中返回正确的值

addressbook ios

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

从mp3格式中提取10波段均衡信息的方法

我想为我的mp3播放器制作一个16频段图形均衡器.

但是,我不知道从哪里开始,因为我没有音频处理经验.

所以,我真的不知道从哪里开始从mp3格式中提取频段(?).

有人请建议我一个简单的解决方案吗?

啊,还有,是否有任何开源MP3播放器易于修改和构建为Windows应用程序?

audio

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

为什么我的Google +1按钮代码无效?

我无法弄清楚为什么我的Google +1按钮代码无法正常工作.

http://jsfiddle.net/DerekL/EF8eE/

当您按下+1按钮时,会alert弹出一个.

这里我有一个回调函数:

function cb(obj) {
    alert();              //alert
    console.log(obj);     //Then show obj in console
}?
Run Code Online (Sandbox Code Playgroud)

但永远不会被回调.我根据规范遵循了每一步,最有趣的是我之前让它工作......但现在它根本不起作用.奇怪!

javascript google-plus-one

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

使用math.h时,在'extern'之前的预期初始化程序

错误指向math.h文件的第36行,我没有搞砸过它.SRK.cpp是唯一需要标头的文件,但它不会,因此将它包含在头文件中似乎是合乎逻辑的.显然有些东西搞砸了(我个人认为那里有一个拼写错误或其他简单的错误,但是由于错误指向我包含在C++中的头文件,我不知道在哪里看).

header.h

#ifndef HEADER_H
#define HEADER_H
#include <math.h>
double reducedP(double P, double Pc);
double reducedT(double T, double Tc);
double SRK(double Tr, double Pr, double acc);
#endif
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include <iostream>
#include "header.h"
using namespace std;

int main()
{
    double T = 0;
    double Tc = 0;
    double Tr = 0;
    double P = 0;
    double Pc = 0;
    double Pr = 0;
    double acc = 0;
    double Z = 0;
    cout << "Enter Temperature: ";
    cin >> T;
    cout << "\n"; …
Run Code Online (Sandbox Code Playgroud)

c++ math.h

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