问题列表 - 第44966页

关于typedef中单实例数组的一些问题

我正在使用GNU Multi-Precision(GMP)库代码使用任意长度的整数来阅读一些代码.MP整数的类型mpz_t与gmp.h头文件中的定义相同.

但是,我对这个库定义mpz_t类型的低级定义有一些疑问.在标题代码中:

/* THIS IS FROM THE GNU MP LIBRARY gmp.h HEADER FILE */
typedef struct
{
    /* SOME OTHER STUFF HERE */
} __mpz_struct;

typedef __mpz_struct mpz_t[1];
Run Code Online (Sandbox Code Playgroud)

第一个问题:是否[1]__mpz_struct?换句话说,typedefmpz_t类型定义为__mpz_struct具有一次出现的数组?

第二个问题:为什么阵列?(为什么只出现一次?)这是我听说过的结构黑客之一吗?

第三个问题(可能与第二个问题间接相关):mpz_init_set(mpz_t, unsigned long int)函数的GMP文档说只使用它作为pass-by-value,尽管可以假设这个函数会在被调用函数中修改它的内容(因此需要pass-by-reference)语法.参考我的代码:

/* FROM MY CODE */
mpz_t fact_val;                /* declaration */
mpz_init_set_ui(fact_val, 1);  /* Initialize fact_val */
Run Code Online (Sandbox Code Playgroud)

单次出现数组是否允许自动传递引用(由于C中数组/指针语义的崩溃)?我很自然地承认我有点过分分析这个,但我当然喜欢对此进行任何讨论.谢谢!

c arrays struct typedef gmp

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

使用OpenCV在Python中捕获网络摄像头流 - 需要帮助

我在Arch Linux上运行Python2.7.我通过Pacman安装了OpenCV.

我正在使用的Python代码是:

import cv

capture = cv.CaptureFromCAM(0)
Run Code Online (Sandbox Code Playgroud)

非常简单.我现在要做的就是让Python访问我的网络摄像头.但上面的代码输出:

[user@host python]$ python2.7 webcam.py 
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
Run Code Online (Sandbox Code Playgroud)

我的网络摄像头适用于Cheese(linux网络摄像头程序).因此,可以推测,不应该有任何驱动程序/模块问题......

有任何想法吗?

python linux webcam opencv

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

应用新操作符时有什么区别?

例如,如果我想在p元素上显示当前日期:

$("p").html('Now is '+Date()); // good
$("p").html('Now is '+new Date()); // good
$("p").html(Date()); // good
$("p").html(new Date()); // bad
Run Code Online (Sandbox Code Playgroud)

为什么最后一个语句不显示当前日期,但第二个语句有效?

javascript jquery

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

检查有效参数

所以让我们定义一些函数:

def x(a, b, c): pass
def y(a, b=1, c=2): pass
def z(a=1, b=2, c=3): pass
Run Code Online (Sandbox Code Playgroud)

现在,给出一个指向,或(),一个args()元组和一个kwargs()字典的指针x,最好的方法是什么,检查是否yzpak

p(*a, **kw)
Run Code Online (Sandbox Code Playgroud)

会产生任何关于没有足够的参数或不正确的参数等的例外 - 没有实际调用p(*a, **kw)然后捕获引发的异常.

def valid(ptr, args, kwargs): ... #implementation here

valid(x, ("hello", "goodbye", "what?"), {}) # => True
valid(x, ("hello", "goodbye"), {}) # => False
valid(y, ("hello", "goodbye", "what?"), {}) # => True
valid(y, (), {"a": "hello", "b": "goodbye", "c": "what"}) #=> True
valid(y, ("hello", "goodbye"), {"c": "what?"}) #=> …
Run Code Online (Sandbox Code Playgroud)

python

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

如何在OpenCV中训练/使用HOGDescriptor类

我一直在研究/使用OpenCV来尝试检测人体.我想尝试为我的特定目的训练HOG,而不是使用提供的getDefaultPeopleDetector函数.我一直无法在HOGDescriptor类上找到任何可用的文档.

我如何为自己的目的训练自己的分类器?

c++ opencv machine-learning pattern-matching

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

php会话中保存对象

我正在尝试保存一个对象$_SESSION,但以下内容:

<?php

$user = db->load( $username, $pass ) ;
$_SESSION[ 'user' ] = $user ;

# on subsequent page loads:
$user = $_SESSION[ 'user' ] ; #retrieve the user from session
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.

该脚本尝试执行方法或访问不完整对象的属性.请确保加载了_before_ unserialize()被调用的对象的类定义"User",或者提供__autoload()函数来加载类定义

除非你使用serialize():

<?php

$user = db->load( $username, $pass ) ;
$_SESSION[ 'user' ] = serialize( $user ) ;

# on subsequent page loads:
$user = unserialize( $_SESSION[ 'user' ] ) ; #retrieve the user from session
Run Code Online (Sandbox Code Playgroud)

我假设需要序列化,因为会话信息已保存到磁盘.但PHP不应该足够智能自行序列化东西吗?

并且使用serialize/_ unserialize _,这现在可靠吗?或者__serialize()我的PHP类中是否需要一个方法?

php session serialization

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

在c ++中用于循环的循环

我试图找出基本上为for循环线程的最佳方法.例如,如果我有以下循环:

for(int i = 0; i < n; i++)
  doSomethingThreadSafe(i);
Run Code Online (Sandbox Code Playgroud)

这将在Windows平台上.我已经为每个处理器创建了一个线程,然后尝试尽可能均匀地为每个处理器划分n.然后我将必要的数据传递给每个线程,然后使用WaitForMultipleThreads.有一个更好的方法吗?我不想使用像boost这样的任何其他库.

理想情况下,我想要一些通用的(也许是模板化的)方法.即

threaded_for(0, n, doSomethingThreadSafe);
Run Code Online (Sandbox Code Playgroud)

如果最好/最有效的方法是使用库,那么添加库需要多少工作,以及在这个例子中它将如何使用.不过,我更喜欢一种不需要添加其他东西的解决方案.

c++ windows multithreading for-loop

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

R reshape2中的cast()调用的自定义聚合函数出错

我想使用R将具有非唯一rownames的表中的数值数据汇总到具有唯一行名的结果表,其中值使用自定义函数进行汇总.摘要逻辑是:如果最大值与最小值的比率<1.5,则使用值的均值,否则使用中值.因为表非常大,我试图在reshape2包中使用melt()和cast()函数.

# example table with non-unique row-names
tab <- data.frame(gene=rep(letters[1:3], each=3), s1=runif(9), s2=runif(9))
# melt
tab.melt <- melt(tab, id=1)
# function to summarize with logic: mean if max/min < 1.5, else median
summarize <- function(x){ifelse(max(x)/min(x)<1.5, mean(x), median(x))}
# cast with summarized values
dcast(tab.melt, gene~variable, summarize)

上面的最后一行代码会导致错误通知.

Error in vapply(indices, fun, .default) : 
  values must be type 'logical',
 but FUN(X[[1]]) result is type 'double'
In addition: Warning messages:
1: In max(x) : no non-missing arguments to max; returning -Inf …

casting aggregate r reshape reshape2

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

何时显示失败的鲸鱼?

我如何或何时知道我的Web应用程序无法处理流量/活动并显示"失败的鲸鱼"类型的页面?

php

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

具有通用/模板化变量的STL容器

我只想做以下事情:

template <typename T>
class gvar {
private:
    T var;
public:
    gvar(T var) : var(var) {}
};

std::stack<gvar> some_stack;
Run Code Online (Sandbox Code Playgroud)

g ++吐出了关于gvar不是一个类型的各种错误.这可以通过一些相对简单的方式实现吗?我不想使用boost :: any/boost :: variant.

编辑:

澄清我想要的东西:

一个std :: stack,可以保存不同类型的变量(只是原语很好).

c++ generics variables stack templates

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