draft VS cppreference-doc

Compare draft vs cppreference-doc and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
draft cppreference-doc
24 56
5,523 398
1.0% -
9.6 0.0
4 days ago about 1 year ago
TeX HTML
- GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

draft

Posts with mentions or reviews of draft. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-11.
  • C++23: The Next C++ Standard
    8 projects | news.ycombinator.com | 11 Jul 2023
    I should have said the "latest standard", not "spec", if we're being technical. But EVERY bit of official material is very clear about asserting that C++23 is still a preview/in-progress, not a standard. Saying otherwise is, strictly speaking, incorrect.

    https://isocpp.org/std/the-standard

    https://www.iso.org/standard/79358.html

    https://github.com/cplusplus/draft/blob/main/papers/n4951.md

  • Never trust a programmer who says they know C++
    2 projects | news.ycombinator.com | 5 Jun 2023
    [3] https://github.com/cplusplus/draft/releases/tag/n4917

    *This is a joke, but only barely so.

  • How to become a C++ Chad ?
    2 projects | /r/cpp | 3 Jun 2023
    pdf
  • Why is the token "designator brace-or-equal-initializer" not defined in the C++ 20 standard document?
    1 project | /r/cpp | 17 Mar 2023
    I'm currently going through Annex A of C++20, but I can't find the definition of "designator brace-or-equal-initializer", and couldn't find much formal information on it in an obvious way. The newest source on [decl] (https://github.com/cplusplus/draft/blob/main/source/declarations.tex) also doesn't seem to have it. Am I missing anything, or is this a missing definition in the standard grammar?
  • Can sanitizers find the two bugs I wrote in C++?
    11 projects | news.ycombinator.com | 8 Feb 2023
    > I don't have a copy of the standard at hand, can anyone quote the relevant section?

    The C++ (draft) standard is on GitHub! [0] Compiling it needs Perl and some LaTeX packages, but is reasonably straightforwards otherwise. In addition, links to specific draft standards can be found on cppreference [1].

    But anyways, in the first C++20 post-publication draft (N4868), the wording you're interested in is in multiple sections. Section 22.2.3 Sequence Containers [sequence.reqmts] has Table 78: Optional sequence container operations [tab:container.seq.opt] (starting on page 815), which states that a precondition of pop_back() is that empty() returns false. Section 16.3.2.4 Detailed Specifications [structure.specifications] (page 481) states:

    > Preconditions: the conditions that the function assumes to hold whenever it is called; violation of any preconditions results in undefined behavior.

    Therefore, calling pop_back() on an empty vector results in undefined behavior.

    > Is this something that in practice is implemented in different (exception-throwing) ways?

    Based on a quick glance at the major implementations (libc++ 15.0.7 at [2], MSVC at [3], libstdc++ at [4]), it looks like asserts are used. Whether those result in exceptions probably depends on whether the asserts are compiled in in the first place and how they are implemented, but it's definitely not a guaranteed exception.

    [0]: https://github.com/cplusplus/draft

    [1]: https://en.cppreference.com/w/cpp/links

    [2]: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/lib...

    [3]: https://github.com/llvm/llvm-project/blob/8dfdcc7b7bf66834a7...

    [4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3...

  • How does Rust handle bounds checks that are incorrect in C/C++ due to signed integer conversion?
    1 project | /r/rust | 19 Dec 2022
    Which standard specifically are you quoting there? I checked an old and a new C++ draft in https://github.com/cplusplus/draft/tree/main/papers, and in neither one did 6.3 have anything like that.
  • Rust and C++
    3 projects | /r/programming | 14 Nov 2022
    https://github.com/cplusplus/draft/releases/download/n4917/n4917.pdf (page 1, chapter 1 scope):
  • WG21, aka C++ Standard Committee, October 2022 Mailing
    1 project | /r/cpp | 19 Oct 2022
    PRs for C++ are at https://github.com/cplusplus/draft But the discussion for a PR is via https://isocpp.org/std/submit-a-proposal
  • My programming language history
    10 projects | dev.to | 26 Aug 2022
    C/C++
  • How to overload function parameter to accept either raw pointer or c-array
    1 project | /r/cpp_questions | 14 Aug 2022
    By the way, https://github.com/cplusplus/draft/releases/tag/n4910 , says

cppreference-doc

Posts with mentions or reviews of cppreference-doc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-16.
  • Looking for well written, modern C++ (17/20) example projects for microcontrollers
    19 projects | /r/embedded | 16 Mar 2023
    Rather than looking at good examples (which you should by all means do), add cppreference.com to you bookmarks and use it as your reference. By far the best C++ reference on the net. (from a C programmer who was thrown into C++ a decade ago -- slowly digesting C++20 now) Both StackOverflow.com and electronic.stackexchange.com are two additional QA sites that can help.
  • My first C++ project! A "mostly sane" C++ coroutine helper library
    2 projects | /r/cpp | 23 Feb 2023
    Sadly, not much. My method of learning is to get my hands dirty and waste a lot of time doing things wrong before I do them right. The only resource (outside of Google and StackOverflow) that I always had open was https://en.cppreference.com
  • C++ switch problem
    1 project | /r/learnprogramming | 10 Feb 2023
    In general, https://en.cppreference.com is your friend.
  • Can sanitizers find the two bugs I wrote in C++?
    11 projects | news.ycombinator.com | 8 Feb 2023
    > As a C++ language reference I highly recommend https://en.cppreference.com

    I'd be careful about such re-formulations of the Standard. When I was adding printf format checking to the D compiler, I discovered there were subtle discrepancies in the description of exactly how printf behaves. I went back to using the Standard.

  • Ask HN: What are great resources to catch up C++?
    4 projects | news.ycombinator.com | 16 Jan 2023
    Modern C++ code now looks very different to even C++11 code which is considered to be the start of modern C++.

    "A Tour of C++" which has already been recommended is probably a good start to get back in the game. I think there was a new version coming out, but not sure what the current status about this is.

    [https://en.cppreference.com](cppreference.com) is a good resource for me. It has documentation regarding the new standards as well and up to C++20 the examples are mostly complete, at least for the relevant things.

    I can also recommend watching the "Back to Basics" talks on the CppCon youtube channel and once you are more familiar also the regular talks. They are great resources about practical topics.

    Jason Turner's C++ Weekly videos are also a great resource. They are usually 10-15 minutes long videos that give you a good start to think about. Great way to learn something new every week.

  • Why did rust Settle on snake_case?
    1 project | /r/learnrust | 8 Jan 2023
    At Google, at least, the style guide says to use snake case for variable names in C++ (but camel case for classes). As far as I can tell, this is also the convention in the C++ standard library.
  • wget keeps downloading forever, and stuff I don't want
    1 project | /r/linuxquestions | 27 Dec 2022
    Lets say that there's a file at https://en.cppreference.com/ called preferences.c. The command to download it would be wget https://en.cppreference.com/preferences.c
  • I am stuck in tutorial hell
    2 projects | /r/cpp | 21 Dec 2022
    I would start with a direction of where to apply C++. Updating legacy code, working on embedded systems, creating financial application and creating high performant games are a few common option. Also sites like cppreference and Compiler Explorer/Godbolt are your friends in learning. CPlusPlus.com might help with legacy support as it stops with C++11.
  • C++ #include errors detected
    2 projects | /r/CodingHelp | 12 Dec 2022
    Keep in mind that most YouTube C++ tutorials are garbage. Use www.learncpp.com instead as a tutorial, and https://en.cppreference.com as a language reference. Once you familiarize yourself with the language, you can learn the best practices using the C++ Core Guidelines.
  • I'm struggling
    2 projects | /r/cpp_questions | 12 Dec 2022
    The important thing to remember is that a concept exist and roughly what it's called, so you can look it up when you need to. You don't need to keep all the details in your head, that's what we have en.cppreference.com for.

What are some alternatives?

When comparing draft and cppreference-doc you can also consider the following projects:

team - Rust teams structure

telescope-vimwiki.nvim - look through your vimwiki with your telescope

LLVMSharp - LLVM bindings for .NET Standard written in C# using ClangSharp

browser-compat-data - This repository contains compatibility data for Web technologies as displayed on MDN

papers

cling - The cling C++ interpreter

Asciidoctor - :gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.

magic_get - std::tuple like methods for user defined types without any macro or boilerplate code

cppwp - HTML version of the current C++ working paper

cgi-lib - A FREE ANSI C library for CGI programming.

libhal - A collection of interfaces and abstractions for embedded peripherals and devices using modern C++

cppinsights - C++ Insights - See your source code with the eyes of a compiler