小编DrC*_*sos的帖子

在一组指针中查找指针的内容

编辑:看错了一行,这是一套当然,谢谢你发现我的(懒惰)错误.

以下示例代码:

set<Foo *> set_of_foos;

set_of_foos.insert(new Foo(new Bar("x")));
set_of_foos.insert(new Foo(new Bar("y")));
[...]

// The way a "foo" is found is not important for the example.
bool find_foo(Foo *foo) {
  return set_of_foos.end() != set_of_foos.find(foo);
}
Run Code Online (Sandbox Code Playgroud)

现在当我这样做

find_foo(new Foo(new Bar("x")));
Run Code Online (Sandbox Code Playgroud)

它返回当然是假的,因为无法找到它.原因很明显(指针指向不同的对象,因为它们都被分配了set导致不同的地址值)给我.

我想比较vector(上例中的"x")不是false本身的.使用boost不是修改Foo的选项.

我是否需要遍历每个new内部Foo或是否有更简单的解决方案?我尝试了唯一的序列化每个内容"x"并替换为Foo *a Foo但这似乎是一个非常"黑客"的解决方案,并不是非常有效.

PS:如果有人有更好的头衔,请更改它.用几句话来描述这个问题我很难.

c++ containers pointers stl set

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

PHP - Codeigniter - 连接到PostgreSQL失败

我是CodeIgniter的新手,但我过去开发了一些工作页面.我正在尝试重构这些页面(旧页面仍在Postgres上的Linux框中运行)并在Windows框中进行开发; 但我遇到了Postgres数据库连接问题,我收到以下错误:

发生数据库错误

无法使用提供的设置连接到数据库服务器.

文件名:C:\ Subayogam_v2.0\Codeigniter\system\database\DB_driver.php
行号:124

我知道当数据库配置丢失时会出现此错误,但我确实在C:\ Subayogam_v2.0\Codeigniter\application\config\database.php中有一个有效的数据库配置.以下是配置文件数据:

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'postgres';
$db['default']['password'] = 'mypassword';
$db['default']['database'] = 'subayogam_v2.0';
$db['default']['dbdriver'] = 'postgre';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = TRUE;
/*$db['default']['cachedir'] = '/var/subayogam_2.0/cache';*/
$db['default']['cachedir'] = 'C:\Subayogam_v2.0\Codeigniter\cache';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

我仔细检查了缓存文件夹路径,并尝试了一个连接到同一个数据库的简单PHP页面,看看驱动程序是否正常工作,我能够从数据库中看到结果.Apache错误日志中也没有有用的错误消息.我从正在运行的版本中复制粘贴了整个应用程序,并修改了DB文件以指向新数据库.没有其他改变.

可能有什么不对?是否有任何特定的日志文件可以提供有关错误的更多信息?

php postgresql codeigniter

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

如何提高主体性能(普通sql快4倍)?

问题是下一步 - 我想执行简单查询(例如,一个表中的10行)

在Doctrine中,此操作需要0.013752秒

这是DQL:

$q = Doctrine_Query::create()
    ->update('TABLE')
    ->set('FIELD', 1)
    ->where('ID = ?', $id);
$rows = $q->execute();
Run Code Online (Sandbox Code Playgroud)

但是当我使用普通的sql时mysql_query()它只需要0.003298s

怎么了?Doctrine真的慢4倍吗?

php doctrine

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

Javascript - stats.js(来自 MrDoob 的高分辨率统计数据) - 如何获得当前的 FPS?

所以有很棒的stats.js,我需要它给我它当前的 FPS 值。这样的事情怎么办?

所以我尝试

stats.domElement.style.position = 'absolute';
stats.domElement.style.left = '0px';
stats.domElement.style.top = '0px';
$('body').append(stats.domElement );
setInterval( function () { stats.update();}, 1000 / 60 );
setInterval(function () { if(stats._fps <= 50){
// Do stuff for slow guys
    }}, 1000 );
Run Code Online (Sandbox Code Playgroud)

html javascript statistics jquery

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

编码UTF-8不起作用

<html>
    <head>
        <title>????</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Run Code Online (Sandbox Code Playgroud)

我设置了元标记,但每当我打开浏览器(Chrome)时,我都必须转到工具 - >编码并在UTF-8上设置编码才能使其正常工作.有没有办法避免这一步,所以浏览器显示正确的UTF-8?

html php html5

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

从html页面使用phpquery获取图像src

如何从HTML页面使用phpQuery获取img src?补充:我需要获取此“ src”以在解析器模块中用于drupal

phpquery

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

JOIN 结果的顺序

我有这个查询

SELECT orden.id,
array_to_string(array_agg(observaciones.fecha_hora),'<br>') as observaciones
FROM orden
LEFT JOIN observacion observaciones ON observaciones.orden_id = orden.id
GROUP BY orden.id
Run Code Online (Sandbox Code Playgroud)

它返回这个:

orden.id = 5878  
observaciones
2012-03-15 01:39:11
2012-03-15 01:40:28
2012-03-15 01:40:42
2012-03-15 09:09:08
2012-03-15 09:11:10
2012-03-15 01:18:34
2012-03-15 01:19:27
2012-03-15 09:17:01
2012-03-15 09:17:36
2012-03-15 03:16:58
2012-03-15 01:21:01
2012-03-15 03:17:06
2012-03-15 03:17:26
2012-03-15 01:27:33
2012-03-15 03:18:05
2012-03-15 03:24:56
2012-03-15 03:49:24
2012-03-15 01:27:43
2012-03-15 01:38:30
2012-03-15 06:30:13
Run Code Online (Sandbox Code Playgroud)

问题是,我如何获得这些日期时间以便 DESC 我不能执行子查询,因为我正在优化一个旧查询,我真的需要一个 JOIN。我正在使用 postgresql。

postgresql join

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

使用javascript向上舍入到下一个整数,即使值为1.00000000001

如何将输入到文本框中的数字舍入除以18,UP,而不管它是否低于.5(使用Javascript/jQuery).目前我正在使用:

nopallets=parseInt(howmany/18);
Run Code Online (Sandbox Code Playgroud)

但这可以向下或向上舍入,具体取决于它最接近的整数.

任何帮助非常感谢.

javascript math

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