小编Chr*_*ris的帖子

C++ 11:使用atomic <bool>成员编写移动构造函数?

我有一个带有原子成员变量的类:

struct Foo
{
  std::atomic<bool> bar;
  /* ... lots of other stuff, not relevant here ... */
  Foo() 
  : bar( false )
  {}

  /* Trivial implementation fails in gcc 4.7 with:
   *   error: use of deleted function ‘std::atomic<bool>::atomic(const td::atomic<bool>&)’
   */
  Foo( Foo&& other )
  : bar( other.bar )
  {}
};

Foo f;
Foo f2(std::move(f));  // use the move
Run Code Online (Sandbox Code Playgroud)

移动构造函数应该怎么样?

GCC 4.7不喜欢我的任何企图(如添加std::move()周围other.bar)和净是出奇的安静这里...

c++ atomic libstdc++ move-semantics c++11

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

将ZeroMQ与Boost :: ASIO一起使用

我有一个使用ZeroMQ进行消息传递的C++应用程序.但它还必须为基于AJAX/Comet的Web服务提供SGCI连接.

为此,我需要一个普通的TCP套接字.我可以通过普通的Posix套接字做到这一点,但是要保持跨平台的便携性并让我的生活更轻松(我希望...)我正在考虑使用Boost :: ASIO.

但现在我有ZMQ的冲突想要使用它自己zmq_poll()和ASIO它io_service.run()...

有没有办法让ASIO与0MQ一起工作zmq_poll()

或者是否有其他推荐的方法来实现这样的设置?

注:我可以解决,通过使用多线程 - 但它是将与SCGI交通非常低量运行该程序只有一点点的单核/ CPU中,所以多线程是一种资源的浪费?

c++ sockets boost boost-asio zeromq

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

旋转时保持盒子阴影方向一致

当给出例如<div>盒子阴影以及旋转时,它将导致盒子阴影方向的旋转 - 当盒子阴影应该产生照明幻觉时,这是有问题的.

示例:https://jsfiddle.net/5h7z4swk/

div {
  width: 50px;
  height: 50px;
  margin: 20px;
  box-shadow: 10px 10px 10px #000;
  display: inline-block;
}
#box1 {
  background-color: #b00;
}
#box2 {
  background-color: #0b0;
  transform: rotate(30deg);
}
#box3 {
  background-color: #00b;
  transform: rotate(60deg);
}
#box4 {
  background-color: #b0b;
  transform: rotate(90deg);
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#box6 {
  background-color: #0bb;
  animation-name: spin;
  animation-duration: 2s;
  animation-iteration-count: infinite;
}
Run Code Online (Sandbox Code Playgroud)
<div id="box1"></div>
<div id="box2"></div> …
Run Code Online (Sandbox Code Playgroud)

html css css3 css-transforms css-animations

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

Git:处理appcache?

我正在GitHub上托管一个OSS项目,该项目有几个不同的开发人员.该项目是一个Web应用程序,它使用AppCache告诉浏览器哪些文件应该脱机使用.

这是appcache文件的本质,它需要更新(例如,我们在注释中使用时间戳),一旦缓存中的文件更改为使缓存无效并强制浏览器重新加载所有文件.
当人们现在在不同的开发分支上工作时,他们正在使用每个提交更新appcache中的时间戳.

问题是,这将产生阻止自动合并的冲突.

  • 如何以一种不会在未来再次发生冲突的方式解决这个问题?
  • 其他开发团队在同样的情况下做了什么?

使用CVS我可以用$ Id $替换时间戳,让程序自动处理它...

git github html5-appcache

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

如何永久禁用Android浏览器缓存?

我正在开发一个基于Web的应用程序,也应该在基于Android的手机上运行.由于我没有,我成功使用SDK中的模拟器.

但是当我不断更改应用程序的一些JavaScript页面时,浏览器使用旧版本的缓存(服务器上的缓存控制是正确的 - 但我没有那里需要过多缓存的正常用例)

那么有没有办法告诉(默认)Android浏览器永久禁用它的缓存?
或者是否可以使用adb命令清除缓存?

javascript android cache-control android-emulator

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

对象拟合:得到结果尺寸

使用新的CSS功能时object-fit,如何访问浏览器通过JavaScript选择的结果维度?

所以我们假设foo.jpg是100x200像素.浏览器页面/视口宽400像素,高300像素.然后给出这个CSS代码:

img.foo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 25% 0;
}
Run Code Online (Sandbox Code Playgroud)

浏览器现在将图像显示在最顶部,正确的宽高比从左侧延伸到第二季度的最底部.这导致了这些图像尺寸:

  • 宽度:150px
  • 身高:300px
  • 左:62.5px
  • 右:212.5px

那么JavaScript调用(jQuery允许)会给我那些我手动计算的数字吗?(注意:JavaScript不知道CSS信息本身,因为用户可能会覆盖它们甚至添加类似的东西min-width)

要使用代码,我创建了一个小提琴:https://jsfiddle.net/sydeo244/

javascript css jquery css3

14
推荐指数
2
解决办法
4218
查看次数

断言动态消息?

在我的程序中,我想使用显示错误消息的断言.除了众所周知的C和C++的解决方法之外,还有BOOST提供的"真实"解决方案BOOST_ASSERT_MSG( expr, msg )(另请参见带有消息的assert())

但是静态消息对我来说还不够,我还想有时候显示失败的变量,例如在类似的情况下

BOOST_ASSERT_MSG( length >= 0, "No positive length found! It is " << length )
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我想将消息"string"格式化为stringstream或者ostream允许我轻松地显示自定义类型(假设我已经定义了相关的格式化函数).

这里的问题是BOOST_ASSERT_MSG默认情况下要求char const *不兼容.

有没有办法重新定义/重载assertion_failed_msg(),使用流作为消息将起作用?怎么样?
(我的天真方法失败了,因为编译器首先要对operator<<("foo",bar)消息本身做一个...)

c++ boost assert

10
推荐指数
2
解决办法
5836
查看次数

c ++全局变量的后期实例化

我有代码,其中必须通过相当多的代码设置全局资源:

globalClass foo;  // global variable / object; give it a memory space to live

void doSomething( void )
{
  foo.bar();      // use the global foo object
}

int main( int argc, const char *argv[] )
{
  foo( argc );   // foo can only be instantiated in main as it's using
                 // information that's only available here

  doSomething(); // use the global foo object

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

正如您所看到的,foo具有全局范围 - 但要调用其构造函数,我需要一些仅在其中可用的信息main.

我怎样才能做到这一点?

我能想出的唯一解决方案是创建foo一个指针globalClass- …

c++ c++11

8
推荐指数
2
解决办法
2320
查看次数

切换光标以显示我可以放置元素的位置

我有一个很明显的问题/任务,我仍然想知道为什么我找不到解决方案......

在使用jQuery UI的JavaScript应用程序中,我使用draggable()droppable()API来移动元素.这可以直接按预期进行.
但是现在我想改变鼠标光标,使其显示我可以放置元素(cursor: "copy")或不可能放置的位置(cursor: "no-drop").

这当然应该只在拖动过程中发生,否则应该显示正常的光标.

注意:可以假设仅在一个特殊情况下允许丢弃<div>(例如,由id或标识class),并且在其他任何地方都不允许丢弃.

html javascript jquery jquery-ui

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

在JavaScript中处理点/小向量的最有效方法是什么?

目前我正在创建一个基于Web的(= JavaScript)应用程序,它使用了很多"点"(=小的,固定大小的向量).基本上有两种表现方式:

var pointA = [ xValue, yValue ];
Run Code Online (Sandbox Code Playgroud)

var pointB = { x: xValue, y: yValue };
Run Code Online (Sandbox Code Playgroud)

所以翻译我的观点会是这样的:

var pointAtrans = [ pointA[0] + 3, pointA[1] + 4 ];
var pointBtrans = { x: pointB.x + 3, pointB.y + 4 };
Run Code Online (Sandbox Code Playgroud)

从程序员的角度来看,这两者都很容易处理(对象变体更具可读性,特别是因为我主要处理2D数据,很少使用3D而很难使用4D - 但是从来没有更多.它总是适合x,y,z和w)

但我现在的问题是:
从语言角度来看,最有效的方法是什么 - 理论上和实际实施中?
什么是内存要求?
数组与对象的设置成本是多少?
...

我的目标浏览器是FireFox和基于Webkit的浏览器(Chromium,Safari),但在IE和Opera下获得一个很棒的(快速)体验并不会有什么坏处......

javascript arrays performance object

6
推荐指数
2
解决办法
2884
查看次数