小编And*_*rew的帖子

如何使用reverse_iterator插入

我想在C++中将一些东西插入到STL列表中,但我只有一个反向迭代器.通常的方法是什么?

这有效:(当然可以)

std::list<int> l;
std::list<int>::iterator forward = l.begin();
l.insert(forward, 5);
Run Code Online (Sandbox Code Playgroud)

这不起作用:(我该怎么办?)

std::list<int> l;
std::list<int>::reverse_iterator reverse = l.rbegin();
l.insert(reverse, 10);
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

Perl何时自动初始化变量?

下面是一些简单的Perl来计算数组中出现值的次数.这没有任何警告.

use warnings;
use strict;

my @data = qw(1 1 2 3 4 5 5 5 9);
my %histogram;
foreach (@data)
{
    $histogram{$_}++;
}
Run Code Online (Sandbox Code Playgroud)

当循环体变为

$histogram{$_} = $histogram{$_} + 1;
Run Code Online (Sandbox Code Playgroud)

Perl警告"另外使用未初始化的值".

引擎盖下发生了什么?当作为操作符提供给++运算符并且使用+运算符未初始化时,为什么值被初始化?

perl warnings initialization

8
推荐指数
3
解决办法
2100
查看次数

SunStudio C++编译器编译指示禁用警告?

与SunStudio11捆绑在一起的STLport会产生很多警告.我相信大多数编译器都有办法禁用某些源文件的警告,如下所示:

太阳C.

#pragma error_messages off

#include <header.h>
// ...

#pragma error_messages on
Run Code Online (Sandbox Code Playgroud)

GCC

#pragma warning(push, 0)        

#include <header.h>
// ...

#pragma warning(pop)
Run Code Online (Sandbox Code Playgroud)

你如何在SunStudio C++编译器中做到这一点?(顺便说一句,sunstudio C pragma在sunstudio C++中不起作用)

warnings suppress-warnings sunstudio

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