Giter VIP home page Giter VIP logo

cpp17's Introduction

C++17完全指南

本书为《C++17 the complete guide》(第一版) by Nicolai M. Josuttis的个人中文翻译版, 仅供学习和交流使用,如有侵权请联系作者删除

以下为英文原版购买地址


以下为中文翻译版

pdf 版(推荐)

点此下载

注:

  • 在github中点击上方链接可能会显示“something went wrong”,可以下载之后在本地打开。
  • 貌似latex默认并不会嵌入用到的字体,如果pdf打开之后某一种字体看起来怪怪的,那大概率是缺少对应的字体,本书用到的字体有宋体、楷体、Times New Roman、Consolas

epub 版

点此下载

注:

  • epub版由@wizardforcel提供,感谢贡献。

markdown 版目录


说明

markdown 版是用程序直接从 pdf 版转换而来,然后再进行校对和修正。

但转换过程中不仅损失了一些信息,还导致了很多错误。

校对时虽然修正了很多错误,但因为时间有限,一定还有很多错误没有发现。

因此更加推荐 pdf 版

不管是 pdf 版还是 markdown 版,如果发现错误欢迎指出,也可以自行修正之后提交PR。

编译

  1. 安装tectonic
  2. 确保有所需字体:宋体、楷体(可选)、Times New Roman、Consolas
  3. 如果latex/src/main.tex中有\includeonly{xxx}这一行且未被注释掉(%后的内容是注释),请在编译之前删除这一行
  4. 编译pdf文件
    cd latex/src
    tectonic main.tex
    
  5. 生成的main.pdf就是最后的pdf文件
  • note: 如果安装tectonic之后tectonic不在PATH中,请把第5步中的tectonic替换成完整的路径
  • note: 如果希望进行替换字体或修改行距等操作,可以修改latex/src/main.tex
  • note: 如果所有步骤都正确操作仍编译失败,欢迎提issue

cpp17's People

Contributors

1ambd4 avatar alanjian85 avatar batkiz avatar cruiseyoung avatar ho-229 avatar meousker77 avatar mingjitianming avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cpp17's Issues

求教Latex的相关资料

很高兴看到这本书的中文翻译,自己也是C++爱好者,也有翻译过关于现代C++的书籍。

不过,我的翻译大多是使用markdown的方式。

这里想求教,是否能分享一下您学习Latex的网站地址,或者是书籍名称?想参考学习一下。

typo

latex 版,78 页第 4 段

“有了推导指引饮后”

使用算法count_if()的并行版本来统计vector中偶数的数量 永远都不值得,即使有1,000,000,000个元素

似乎这个理论有问题,实际测试:

auto eval = [](auto fun)
    {
        const auto t1 = std::chrono::high_resolution_clock::now();
        const auto [name, result] = fun();
        const auto t2 = std::chrono::high_resolution_clock::now();
        const std::chrono::duration<double, std::milli> ms = t2 - t1;
        std::cout << std::setw(28) << std::left << name << "sum: "
            << result << "\t time: " << ms.count() << " ms\n";
    };
{

    eval([&v] { return std::pair{ "std::count_if (seq, long)",
        std::count_if(SEQ
        v.begin(), v.end(),
        [](int elem) {
            return elem % 2 == 0;
        }) };  });
    eval([&v] { return std::pair{ "std::count_if (par, long)",
        std::count_if(PAR
        v.begin(), v.end(),
        [](int elem) {
            return elem % 2 == 0;
        }) };  });
        
        
   VS2022 C++17  release编译运行结果     

std::count_if (seq, long) sum: 100,000,007 time: 51.5 ms
std::count_if (par, long) sum: 100,000,007 time: 13.3 ms

请问一下,这个翻译是基于哪个版本的?

由于作者编写本书的方式是持续更新的,网上的pdf版本都是更新到 2019.2的,而本书完结于 2020.9,长达一年半时间应该加了一些东西,不知道这里的翻译是否包含这些呢?

some typos

page 92
编译期 if 影响返回值类型:
else [ --> else {

page 106
sturct CustomerHash --> struct CustomerHash

感谢你的翻译,学到了很多

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.