小编nbu*_*bis的帖子

使用constexpr解决重新解释的强制转换限制

在c ++ 11中,constexpr表达式不能包含重新解释转换.因此,例如,如果想要操纵浮点数中的位,比如找到数字的尾数:

constexpr unsigned int mantissa(float x) { 
    return ((*(unsigned int*)&x << 9) >> 9); 
};
Run Code Online (Sandbox Code Playgroud)

上面的代码将无法实现constexpr.从理论上讲,我无法看到在这个或类似情况下重新解释如何与算术运算符有任何不同,但编译器(和标准)不允许它.

是否有任何巧妙的方法来解决这个限制?

c++ reinterpret-cast constexpr c++11

25
推荐指数
3
解决办法
8098
查看次数

基于范围隐式添加`const`限定符?

让我们看一下基于循环的以下简单范围:

  int a = 5, b = 6;
  for (auto & i : {a, b})
  {
      std::cout << i << std::endl; // Works as expected.
      i = 3;                       // Error!
  }
Run Code Online (Sandbox Code Playgroud)

gcc抱怨assignment of read-only reference 'i',暗示与初始化列表一起使用的基于for循环的范围隐式const地为引用添加了一个限定符,完全没有说明.

  1. 为什么会这样?
  2. 是否有解决方案允许修改基于循环的范围内的变量?

c++ const initializer-list c++11

13
推荐指数
2
解决办法
961
查看次数

查找表与constexpr

我正在寻找创建一个坐标查找表,如:

int a[n][2] = {{0,1},{2,3}, ... }
Run Code Online (Sandbox Code Playgroud)

对于给定的n,在编译时创建.我开始研究constexpr,但似乎是一个函数返回a constexpr std::vector<std::array <int, 2> >不是一个选项,因为我得到:

invalid return type 'std::vector<std::array<int, 2ul> >' of constexpr function
Run Code Online (Sandbox Code Playgroud)

如何创建这样的编译时数组?

c++ constexpr c++11

12
推荐指数
2
解决办法
9153
查看次数

杀死一个火花任务

我有一个很长的Spark工作,目前很少有任务被停止.有没有办法从驱动程序节点中杀死那些停滞的任务?

出于权限原因,我可以登录,但不能杀死从属节点上的作业,所以我正在寻找一种方法来单独从驱动程序节点执行此操作.注意,我不想杀死整个Spark工作 - 只有一两个停滞的任务.

如果它有帮助,我使用Mesos并可以访问Web UI,但是它不包含杀死任务的选项.

distributed-computing mesos apache-spark

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

GLSL:用缓冲区或纹理替换大型统一int数组

现在我正在尝试将一个int数组传递给片段着色器,并通过统一数组执行此操作:

uniform int myArray[300];
Run Code Online (Sandbox Code Playgroud)

并在着色器外面填充它glUniform1iv.

不幸的是,大于~400失败的统一阵列.我知道我可以使用"统一缓冲区",但似乎无法找到将大型1D数组传递到带缓冲区或其他方式的片段着色器的完整示例.

谁能提供这样的例子?

c++ opengl fragment-shader

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

使用ffmpeg进行编码以实现最快的解码

使用ffmpeg和libx264进行编码,是否有预设或标志可以优化解码速度?

现在似乎使用Qtkit以非常不同的速度解码用相似文件大小进行转码的视频,并且我想知道是否存在编码选项以使解码速度最大化.

ffmpeg libx264

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

散景布局的背景颜色

我正在玩散景滑块演示(源代码在这里),我正在尝试更改整个页面的背景颜色。尽管使用background_fill_color和更改图形的颜色很容易border_fill_color,但布局的其余部分仍然出现在白色背景之上。是否有我可以添加到主题的属性,允许我通过 设置颜色curdoc().theme

python bokeh

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

打开CV通用Mat函数头

在OpenCV中,访问Mat对象中的像素是很常见的,如下所示:

float b = A.at<float>(4,5);
Run Code Online (Sandbox Code Playgroud)

问题是,如果你不知道apriori的数据类型,你就会陷入困境.有没有办法编写接受Mat模板类型的通用函数头T?我想构建线性代数计算的函数,我不希望有一个if子句分离doublefloat.就像是:

 void func(Mat <T> a) { 
     a.at<T>(3,4) = ...
Run Code Online (Sandbox Code Playgroud)

这在OpenCV中是否可行?

c++ templates opencv

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

在python中获取Base64图像尺寸

假设有一张 base64 编码的图像。

如何从字符串中提取图像尺寸,最好不要将字符串作为图像存储到光盘中?

对于 PNG 文件,我可以从作为 PNG 标头一部分的字符串的第 16-24 字节获取此信息,但对于 JPEG 图像,似乎不存在此类黑客攻击。

在这种情况下,获取图像尺寸的一些好方法是什么?

python base64 jpeg

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

在编译时选择实现

假设有人想要创建一个带有两个独立实现的C++类(比如一个在CPU和GPU上运行),并且希望在编译时发生这种情况.

可以使用什么样的设计模式?

c++ design-patterns

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