小编Pio*_*odo的帖子

C++ 14从可变参数模板创建向量

假设,我有一个结构

struct A
{
   std::string name;
};
Run Code Online (Sandbox Code Playgroud)

并且想要编写从对象读取字段"name"并将其作为返回的函数std::vector<std::string>.是否可以通过可变参数模板(或任何非迭代方法)来完成此操作.我的目标是这样的:

template<typename... Ts>
std::vector<std::string> function(Ts... ts)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

在程序中:

    A a1, a2, a3, a4;
    function(a1, a2, a3, a4);
Run Code Online (Sandbox Code Playgroud)

输出: {a1.name, a2.name, a3.name, a4.name}

c++ templates variadic-templates c++14

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

使用Strawberry Perl和twig清除Windows上目录树中所有文件的xml括号中的内容

我想清除放在<loot> </loot>目录树中XML文件中元素内的整个内容.我正在使用Strawberry Perl for Windows 64 bit.

例如,这个XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Dragon"/>
<health="10000"/>
<immunities>
   <immunity fire="1"/>
</immunities>
<loot>
<item id="1"/>
  <item id="3"/>
      <inside>
        <item id="6"/>
      </inside>
  </item>
</loot>
Run Code Online (Sandbox Code Playgroud)

更改的文件应该是:

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Dragon"/>
<health="10000"/>
<immunities>
   <immunity fire="1"/>
</immunities>
<loot>
</loot>
Run Code Online (Sandbox Code Playgroud)

我有这个代码:

#!/usr/bin/perl
use warnings;
use strict;

use File::Find::Rule;
use XML::Twig;

sub delete_loot {
   my ( $twig, $loot ) = @_;
   foreach my $loot_entry ( $loot -> children ) {
      $loot_entry -> delete;
   }
   $twig -> flush; …
Run Code Online (Sandbox Code Playgroud)

xml perl xml-twig

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

C++中以下语句的类型

正确理解这些类型我遇到了麻烦:

对于:

int* j;
int** k;
Run Code Online (Sandbox Code Playgroud)
  1. *j

  2. &j

  3. **j

  4. *&j

  5. *k

  6. &k

  7. **k

  8. *&k

  9. &*k

我的想法:

  1. int** - 双int指针?

  2. 解决了j指针-地址什么类型?(十六进制值)

  3. int***

  4. 指针,指向指针的地址j

  5. int***

  6. 地址为双指针 k

  7. int****

c++ pointers

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

标签 统计

c++ ×2

c++14 ×1

perl ×1

pointers ×1

templates ×1

variadic-templates ×1

xml ×1

xml-twig ×1