C++ – Panic Software
  • Home
  • About me

Author: [email protected]

  • Friends and where to find them

    Core, Name Lookup
    March 21, 2020

    [email protected]

    C++, core, Friend, Friendship, Hidden Friends, Name Lookup

    Corner cases of friendship connected with name lookup and templates – all explained.

    Continue Reading

  • Objects, their lifetimes and pointers

    Core
    January 15, 2020

    [email protected]

    C++, lifetime, object model

    You intuitively know what objects are and what is their lifetime. I bet though, that not all of the tricky corner cases are known to you. Read this post if you are interested in a very detailed knowledge about that topic.

    Continue Reading

  • Dynamic_cast and typeid as (non) RTTI tools.

    Core
    June 21, 2019

    [email protected]

    C++, core, RTTI

    You are already very likely to know about the dynamic_cast and typeid tools from the C++ language. Those tools allow you to get some information about the types of objects in the runtime. And yes… runtime. It’s slow, right? So we would rather not use those tools at all. In this article, we will have…

    Continue Reading

  • Point of declaration

    Core, short C++ facts
    May 16, 2019

    [email protected]

    C++, corner-cases, Undefined-behavior

    After difficult posts about the coroutines and before yet another one I decided to take a break and write about something easier instead. This time we will have a look at one of the aspects of the declarations namely – point of declaration. So what is this point of declaration? Intuitively it’s a point in…

    Continue Reading

  • co_awaiting coroutines

    Coroutines, Evolution
    April 12, 2019

    [email protected]

    awaitable, awaiter, C++, co_await, Coroutines

    Have you been co_awaiting the next post about the coroutines? Well after some break from writing finally it’s here. So first of all, if you are reading this post, I assume you are already familiar with the introduction to the coroutines and description of the promise types, since this is just a continuation of a…

    Continue Reading

  • Your first coroutine

    Coroutines, Evolution
    March 6, 2019

    [email protected]

    C++, Coroutines, Evolution, promise_type

    Once you got familiar with the introduction to the coroutines, then I think it’s high time to actually implement your first co-routine object. This whole post is all about understanding how to implement co-routines and related entities (especially promise_type). Before we start the adventure, please ensure that your compiler does support coroutines. (as of this…

    Continue Reading

  • Qualification conversion

    Core
    March 2, 2019

    [email protected]

    C++, conversion, core, qualification conversion, standard conversions

    Let’s consider following piece of code from the C++ standard: Can you see the issue here? theoretically we are assigning the pointer to the pointer to the non const to the pointer to pointer to the const char. On first sight nothing dangerous happens here. After all we are assigning the pointer, through which we…

    Continue Reading

  • Coroutines introduction

    Coroutines, Evolution
    March 1, 2019

    [email protected]

    C++, Coroutines, Evolution, Function call, Stack

    And so it’s happened. After a long time of doubts, opposition, and preparation of this feature, WG21 agreed on how the coroutines should look like, and coroutines will likely come into C++ 20. Since it’s a significant feature, I think it’s good to start preparing and learning this now (remember there are also modules, concepts,…

    Continue Reading

  • Value categories – [l, gl, x, r, pr]values

    Core
    February 6, 2019

    [email protected]

    C++, core, glvalue, lvalue, rvalue, value-categories, xvalue

    So you have heard about lvalues and rvalues for sure, but there actually are also xvalues, prvalues and glvalues. It’s easy to get lost in it, so let’s have a look at what actually are those things. The picture shows the division of the value categories defined in the draft standard. In this particular case,…

    Continue Reading

  • Error handling now and tomorrow

    Evolution
    January 28, 2019

    [email protected]

    C++, error-handling, Evolution, Future

    So we will be talking about the error handling. Well first, I guess I need to explain myself why I decided to talk about this topic. You all know about error handling mechanisms in the C++ language right? You know you can throw exceptions, you know you shouldn’t throw them too often, because of performance…

    Continue Reading

Categories

  • Core
  • Coroutines
  • Evolution
  • Name Lookup
  • short C++ facts

Recent Post

  • Friends and where to find themMarch 21, 2020
  • Objects, their lifetimes and pointersJanuary 15, 2020
  • Dynamic_cast and typeid as (non) RTTI tools.June 21, 2019
  • Point of declarationMay 16, 2019
  • co_awaiting coroutinesApril 12, 2019

Tags

awaitable awaiter C++ core corner-cases Coroutines co_await Evolution Friend Friendship Hidden Friends lifetime object model RTTI Undefined-behavior

About

Hi! I am David and this site is about technology. In fact it’s mainly about C++ language, but if It happens I find something else interesting it will be here too!

  • Facebook
  • Twitter
  • LinkedIn

Contact

[email protected]

Recent Post

  • Friends and where to find themMarch 21, 2020
  • Objects, their lifetimes and pointersJanuary 15, 2020

Copyright © 2022. Powered by Catch Themes

  • Home
  • About me