小编Nul*_*ptr的帖子

如何在Jekyll YAML配置中访问多个嵌套变量

我正在使用Poole/Lanyon构建一个网页.文件使用多级或嵌套的站点变量,如{{ site.github.repo }}.

作为Ruby和YAML的新手,我不确定如何声明这个值_config.yml.我尝试过这样的_config.yml:

github:
  - repo:  'https://github.com/foo/bar.github.io'
Run Code Online (Sandbox Code Playgroud)

它无法正常工作:我使用时会返回一个空字符串{{ site.github.repo }}.但是,我能够{{ site.github }}这样: {"repo"=>"https://github.com/foo/bar.github.io"}

为了使用site.github.repo,我应该如何在配置文件中定义此变量?

yaml jekyll

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

使用MinGW编译器时链接错误(找不到__main)

我试图在Windows上使用MinGW编译一个非常简单的程序,但我仍然遇到链接错误.要编译的程序只是C++ hello world.

Z:\dev>type test.cpp
#include <iostream>

int main() {
  std::cout << "Hello World!\n";
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,只需使用MinGW的g ++即可.

Z:\dev>g++ test.cpp -o test.exe
Z:\dev>test.exe
Hello World!
Run Code Online (Sandbox Code Playgroud)

但是,我试图分离编译和链接,但失败了.

Z:\dev>g++ -c test.cpp -o test.o

Z:\dev>ld test.o -o test.exe
test.o:test.cpp:(.text+0xa): undefined reference to `__main'
test.o:test.cpp:(.text+0x19): undefined reference to `std::cout'
test.o:test.cpp:(.text+0x1e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& s
 <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
test.o:test.cpp:(.text+0x37): undefined reference to `std::ios_base::Init::~Init()'
test.o:test.cpp:(.text+0x5a): undefined reference to `std::ios_base::Init::Init()'
test.o:test.cpp:(.text+0x66): undefined reference to `atexit'
Run Code Online (Sandbox Code Playgroud)

很明显,我错过了一些图书馆.所以,我试图链接几个MinGW的库,但仍然没有好处,如-lmsvcrt.我也做了lstdc++,但仍然 …

c++ mingw linker-errors

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

C++ 11 rvalue and move:遗留代码可以避免复制吗?

请理解我还在学习C++ 11的移动和rvalue语义的概念.我的问题是遗留代码是否可以通过简单地使用C++ 11编译器和STL获得避免不必要的副本的免费午餐.

这是一个非常简单的例子.此代码为给定字符串构建一个简单的字符频率表.例如,"apple"应该返回{('a', 1), ('e', 1), ('l', 1), ('p', 2)}.正如您将看到的,我只是使用向量作为值.

typedef std::tuple<char, int> Frequency;
typedef std::vector<Frequency> Frequencies;

Frequencies buildFrequenciesTable(std::string w) {
  char table['z' - 'a' + 1] = { 0, };
  std::for_each(w.cbegin(), w.cend(), [&table](char c) {
    ++table[::tolower(c) - 'a'];
  });

  Frequencies freqs;
  for (size_t i = 0; i < 'z' - 'a' + 1; ++i) {
    if (table[i] != 0)
      freqs.push_back(tuple<char, int>((char) ('a' + i), table[i]));
  }
  return freqs; // Q1: Is vector get copied?
}

int …
Run Code Online (Sandbox Code Playgroud)

c++ rvalue-reference move-semantics c++11 call-by-value

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

在Python中执行此列表任务的最短/最佳方法

我正在学习Python.我想做以下任务:

  • 输入:列表:例如, ['a', 'b', 'c']
  • 输出:单个字符串,用于连接列表中的所有元素,而每个元素都以相同的方式对所有元素进行修改.

例如,我想添加"-temp"到列表中的每个元素.所以,输出将是:

"a-temp b-temp c-temp"

当然,我可以写C/C++风格.但是,Python中有更优雅或有趣的方式吗?

python list

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

如何为数组类型调用new运算符

static int (*g_data)[3];

我想要的new N元素int[3].我只能这样做如下:

g_data = (int(*)[3]) new int[N*3];

我知道这没关系,使用struct将是另一种解决方案.但是,只是出于好奇,我可以直接调用newint[3],即没有类型转换?

c++ types pointers new-operator

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