C++ Weekly - Live Stream 1 - Code Reviews

preview_player
Показать описание
☟☟ Awesome T-Shirts! Sponsors! Books! ☟☟

T-SHIRTS AVAILABLE!

WANT MORE JASON?

SUPPORT THE CHANNEL

GET INVOLVED

JASON'S BOOKS

► C++23 Best Practices

► C++ Best Practices

JASON'S PUZZLE BOOKS

► Object Lifetime Puzzlers Book 1

► Object Lifetime Puzzlers Book 2

► Object Lifetime Puzzlers Book 3

► Copy and Reference Puzzlers Book 1

► Copy and Reference Puzzlers Book 2

► Copy and Reference Puzzlers Book 3

► OpCode Puzzlers Book 1


RECOMMENDED BOOKS

AWESOME PROJECTS

O'Reilly VIDEOS

Рекомендации по теме
Комментарии
Автор

I'm stunned that it took 47 whole minutes before you started constexpr-ing all the things!

marinedalek
Автор

I will love to see more code reviews like this.

SuperIcebeat
Автор

Maybe it's because most of the C++ stuff I watch is done with Visual Studio, and by default it puts symbols on the left-hand next to the type name, but I am so happy to see someone else put their reference/pointer symbols on the right-hand side!

DeepFriedOreoOffline
Автор

I really enjoyed this review! I can see this format being incredible in a class room, and I like how it also works well in CppCon. It may require tweaking to work with streaming, because there’s a lot of noise in chat.

My only “dislike” was because I didn’t get what would be your recommendation for the “builtin” function. 😁

And I would like to see those “u-r-using-vim-wrong” people to be more like Jason: Jason explains why something is wrong, what would be better, etc. Everything with a lot of details, over hundreds of videos. I challenge anyone to create a “VIM Weekly” channel, as good as this. You would have my subscribe, definitely.

ecosta
Автор

Great idea, Jason. I have been a subscriber for a while. This is a great idea because you could review code for any type of application. Particularly, applications that many are familiar with, including text editors, libraries, databases, etc. You could just pick a new topic each week. I would be interested in watching a series like this... I recently took a Master's Degree course where we took a XML parsing library written in C++ and used many of the GoF Software Design Patterns to completely re-write the original C++ version to obtain a more extensible version of the library. Perhaps, you could find a library that needs major refactoring and do that live ??

rodneyjames
Автор

You would avoid problems with `std::isspace` if you declared `c` using `auto` instead of explicit `char`. The thing is, `istream::peek` actually returns `int` and that fits perfectly to `std::isspace` argument without casting.
There are in fact two functions to perform conversions: and

pazdziochowaty
Автор

Great episode, looking forward to seeing the next episode in this format!

ProXicT
Автор

this is some of the best content you've put out

SergeyIvanov
Автор

Fun watch, I watched from cover to cover. Some suggestions, perhaps for future videos you could include the chat somewhere on the screen? I think that it could, also, be advantageous to start reviewing from the top-down; it became difficult to conjure my own thoughts about a line since we were, sort of, bouncing around. I understand that this is necessary at some points (like the cursor decltype) but it becomes tiresome very quickly. Would love to see a series of code reviews in the future. Perhaps closing out the video could include a vimdiff? Thanks Jason.


Edit: Watched on full-screen and just noticed the chat log on the right. Please excuse that comment.

tylerjones
Автор

Definitely do more, even longer sessions!

Pimarko
Автор

Thanks for the great live stream, I look forward to more!

jpvienneau
Автор

Can you elaborate on why the variadric constructor is bad? It should allow that the arguments are either moved or copied as needed rather than forcing a copy like with a std::initializer_list, which is a plus, in my opinion
Edit: I just realized that it would just call the std::initializer_list constructorof std::vector which would force a copy twice either way. Honestly, std::initializer_list doesn't seem move friendly at all
To move them you would require something like this:
Toks.reserve(sizeof...(T));



I think that with a few concepts that would be pretty useful

Gismo
Автор

An object of abstract type cannot be copied by definition, right? Then why would I need to explicitly delete copy operations? In general it feels like a bad idea to me, because the consequence is that the concrete type cannot be copied either, which is something you may want to do.
What are your thoughts on this?

Alturnator
Автор

@Jason turner the delay between the live stream and comments is different for each person it's really weird.

jonesconrad
Автор

Can someone elaborate on the nodiscard thing? Feels weird to write that on kind of 99% of your methods/functions.

dlmenslon
Автор

Great vid, you definitely should do that more often if you have the time.

unevaguejaune
Автор

Really shocked that the first thing you looked at (the peek function) you didn't pick up on it being pointless it was returning an optional and also was inherently unsafe because it may not have a value assigned but then fail the 2nd if statement, then try to get the value out of the optional in the return.

theneskater
Автор

Great stream! Learned a lot.

jason please type in
"vimtutor" in the terminal
I am sorry for whining, but you will not regret it.

kngjulien_
Автор

This review should reach more developers 💯

merictunc
Автор

Is there any reason against declaring the anonymous struct in IOSLexer::next() static? It doesn't change in between the function calls.

Phidelux