C++中的#Include a HTTP URL [英] #include of a HTTP URL in C++

查看:16
本文介绍了C++中的#Include a HTTP URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Github(https://github.com/Quuxplusone/coro/blob/master/examples/pythagorean_triples_generator.cpp)上查看了一个随机的C++示例,惊讶地发现它实际上可以编译(https://coro.godbolt.org/z/JXTX4Y)。

#include <https://raw.githubusercontent.com/Quuxplusone/coro/master/include/coro/shared_generator.h>
#include <stdio.h>
#include <tuple>
#include <range/v3/view/take.hpp>

namespace rv = ranges::view;

auto triples() -> shared_generator<std::tuple<int, int, int>> { 
    for (int z = 1; true; ++z) {
        for (int x = 1; x < z; ++x) {
            for (int y = x; y < z; ++y) {
                if (x*x + y*y == z*z) {
                    co_yield std::make_tuple(x, y, z);
                }
            }
        }
    }
}

int main() {
    for (auto&& triple : triples() | rv::take(10)) {
        printf(
            "(%d,%d,%d)
",
            std::get<0>(triple),
            std::get<1>(triple),
            std::get<2>(triple)
        );
    }
}

这是C++20的新功能,还是Godbolt的扩展,还是完全不同的功能?

推荐答案

这是Goldbolt.org的一项功能。请参见https://github.com/mattgodbolt/compiler-explorer/wiki/FAQ

q:我可以包含URL中的文件吗?

A:编译器资源管理器能够将原始文本包括到您的 源,通过滥用#include指令。

#include <url_to_text_to_include>
...

(请参阅此链接作为实时示例:https://godbolt.org/z/Pv0K0c)

请注意,URL必须允许跨域请求 工作。

这篇关于C++中的#Include a HTTP URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆