Best of C++ β€” 2024

  1. 1
    Article
    Avatar of c_communityC/C++ CommunityΒ·2y

    C++ Mastery Roadmap: From Foundations to Advanced Applications

    A comprehensive roadmap to learning C++, covering foundational concepts, intermediate features, data structures and algorithms, advanced topics like low-level programming and GUI development with SDL, and best practices including code quality, testing, and deployment.

  2. 2
    Article
    Avatar of game_developersGame DevelopersΒ·2y

    Free Web Hosting?

    Looking for free web hosting options to publish a nearly completed website focused on articles about C# and C++. Specifically shared for a squad, the author seeks budget-friendly hosting solutions without the need for premium services.

  3. 3
    Article
    Avatar of communityCommunity PicksΒ·2y

    Memory Safety in C++ vs Rust vs Zig

    The post compares C++, Rust, and Zig in terms of memory safety. C++ offers freedom but can lead to unsafe memory practices; Circle C++ provides stricter safety features while maintaining compatibility with existing codebases. Rust ensures exceptional memory safety with a strict compiler and concepts like the borrow checker. Zig strikes a balance with reasonable memory safety and ease of use, making it simpler to integrate into existing projects. Key focus areas include lifetime safety, type safety, and runtime safety, highlighting how each language handles these aspects differently.

  4. 4
    Article
    Avatar of pointerPointerΒ·2y

    slint-ui/slint: Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

    Slint is a declarative GUI toolkit for building native user interfaces in Rust, C++, or JavaScript. It aims to be scalable, lightweight, intuitive, and native. The current status of Slint is that it is actively being developed, with support for embedded devices and work in progress for desktop and web.

  5. 5
    Article
    Avatar of isocppC++Β·2y

    using std::cpp 2024

    The using std::cpp 2024 conference, held from April 24-26 at Universidad Carlos III de Madrid, attracted over 170 attendees, primarily from the industry. The event featured keynote speakers, various talks, and workshops, focusing on modern C++ trends and practices. The registration fees contributed to a fund supporting students with economic needs. Attendees reported a shift towards newer C++ versions and common use of tools like CMake and version control. The best talk award went to Juan Alday for discussing IT pitfalls in rapid growth.

  6. 6
    Video
    Avatar of lowlevelgamedevLow Level Game DevΒ·1y

    Brutally Honest Advice for my younger C++ gamedev self

    Practical advice from a seasoned C++ game developer on how to self-learn effectively, focusing on essential skills and avoiding common pitfalls. Emphasizes the importance of hands-on coding, starting projects that challenge your skill level, and the benefits of personal discipline including staying active and healthy. Encourages early specialization in the field you're passionate about and offers resources for beginners in game development.

  7. 7
    Article
    Avatar of p99confP99 ConfΒ·2y

    Switching From C++ to Rust

    Nikita Lapkov shares his experience transitioning from writing C++ to Rust. He highlights the benefits of Rust's memory safety, unified build system, concise and helpful compiler error messages, and powerful type system with features like generics and enums. Compared to C++, Rust offers a more pleasant and efficient developer experience.

  8. 8
    Article
    Avatar of watercoolerWatercoolerΒ·1y

    Imposter ࢞

  9. 9
    Article
    Avatar of communityCommunity PicksΒ·2y

    fffaraz/awesome-cpp: A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

    A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things.

  10. 10
    Article
    Avatar of hnHacker NewsΒ·2y

    My First Game with Carimbo, My Homemade Engine

    The author shares their experience of creating a game engine named Carimbo and developing a game for their son using C++17 for the engine and Lua for scripting. They detail aspects such as resource management, the postal service for message passing inspired by Erlang, and the game loop mechanics, highlighting homemade coding as a labor of love similar to their father's handmade toys.

  11. 11
    Video
    Avatar of communityCommunity PicksΒ·2y

    Vim As Your Editor - Introduction

  12. 12
    Article
    Avatar of brevzinBarry's C++ BlogΒ·2y

    Code Generation in Rust vs C++26

    The post compares how Rust and the upcoming C++26 handle code generation and reflection. While C++26 is working on integrating reflection capabilities, Rust excels in code generation using declarative and procedural macros. Key examples include pretty-printing structs and JSON serialization, highlighting the differences in syntax and library design between the two languages. The discussion emphasizes how Rust's derive macros inject necessary implementations automatically, whereas C++ uses introspection to achieve similar results with less boilerplate code.

  13. 13
    Article
    Avatar of lobstersLobstersΒ·2y

    C++ Design Patterns For Low-Latency Applications

    Performance optimizations remain crucial in applications like high-frequency trading (HFT), where low latency is essential. This post discusses a preprint article from Imperial College London focusing on design patterns in C++ for low-latency applications. The optimizations include common practices like prewarming CPU caches and advanced techniques like hotpath versus coldpath separation. Benchmarks using Google Benchmark demonstrate the effectiveness of these patterns, and the detailed implementations are available on GitHub.

  14. 14
    Article
    Avatar of watercoolerWatercoolerΒ·1y

    When Compilers Take Parenting Classes

  15. 15
    Video
    Avatar of primeagenThePrimeTimeΒ·2y

    Creator Of C++ On How Long To Learn A Language | Prime Reacts

    Learning a language like C++ can vary significantly based on prior programming experience. Experienced programmers might pick up the basics in days or weeks through resources like 'A Tour of C++,' but reaching a professional level can take months or years. Understanding complex code written by others can be particularly challenging due to heavy use of macros and templates. The post also highlights that merely knowing the syntax doesn't equate to mastering the language's intended usage.

  16. 16
    Article
    Avatar of c_communityC/C++ CommunityΒ·2y

    Rules and Regulations

    Adhere to squad rules: posts should be informative, valuable, and C/C++ related. Unfit posts may be deleted, affecting reputation. Be friendly, assist beginners, and use proper markdown for questions.

  17. 17
    Article
    Avatar of game_developersGame DevelopersΒ·1y

    Math in programming...

    The author shares their newfound realization about the importance of math in programming, particularly in the context of game development. They provide a C++ code snippet demonstrating the use of mathematics to animate a platform in a game by adjusting its position using trigonometric functions.

  18. 18
    Video
    Avatar of lowlevelgamedevLow Level Game DevΒ·2y

    I made my own shadertoy in C++

    A developer shares their experience of creating a custom Shader toy in C++, complete with features like sliders, custom textures, color pickers, and a full 3D pipeline. The project aims to provide functionalities missing from Shader toy, such as the ability to modify uniforms and write optional vertex shaders. The developer also discusses tackling various challenges, such as detecting shader uniforms and making the project Shader toy-compatible, ultimately planning to expand the tool further with more features.

  19. 19
    Article
    Avatar of c_communityC/C++ CommunityΒ·2y

    πŸ”§ Kernel Development with C++

    Explore the essentials of kernel programming using C++, including setup, project structuring, and implementing C++ features in a kernel context.

  20. 20
    Article
    Avatar of c_communityC/C++ CommunityΒ·2y

    πŸ’‘ Tip: Smart pointers help prevent memory leaks and dangling pointers!

    Smart pointers are recommended for modern C++ applications to help prevent memory leaks and dangling pointers. Understand when and why they should be preferred over manual memory management.

  21. 21
    Article
    Avatar of p99confP99 ConfΒ·2y

    Rust vs. Zig – and C++ and Mojo – for Systems Programming

    At P99 CONF, a debate between Jarred Sumner, Pekka Enberg, and Glauber Costa on ThePrimeagen's Twitch stream explored the benefits and drawbacks of Rust and Zig for systems programming. Key points included Rust's memory safety and robust ecosystem, and Zig's low-level control and better interoperability with C. They also touched on Mojo's potential, particularly for machine learning, and agreed that both Rust and Zig offer significant advantages over older versions of C++.

  22. 22
    Article
    Avatar of mariusbancilaMarius BancilaΒ·2y

    What’s new in C++26 (part 1)

    C++26 introduces several new language and library features, such as specifying a reason for deleting a function, using placeholder variables with no names, and allowing structured binding declarations as conditions. Additionally, static_assert messages can now be user-generated at compile time with string-like objects.

  23. 23
    Article
    Avatar of game_developersGame DevelopersΒ·2y

    🌟 Exciting News – My First Website is Live! 🌟

    A beginner game developer shares that their first website is live, detailing the challenges they faced, including a major bug that deleted the project folder. The site, hosted on Google Drive, compares C++ and C# for game development. The author seeks feedback and advice from the community.

  24. 24
    Article
    Avatar of communityCommunity PicksΒ·2y

    std::array in C++ isn't slower than array in C

    The post discusses the performance of std::array in C++ compared to built-in C arrays. It examines library implementations (LLVM and GNU), assembler code, and benchmarks to show that std::array is not slower than C arrays, especially when compiler optimizations are enabled. Finally, it addresses concerns about object file sizes and highlights the benefits of using std::array over C arrays.

  25. 25
    Article
    Avatar of hnHacker NewsΒ·2y

    Implementing a tiny CPU rasterizer

    Learn how to implement a basic CPU rasterization engine in C++ through a 12-part tutorial series. The project, which is still a work-in-progress, covers everything from drawing the first pixels to advanced techniques and optimizations. All code is available on GitHub, with a single commit for each article.