|
|
|
|
|
by MauranKilom
1698 days ago
|
|
The advice really only applies for very specific definitions of "learn". Let me cite a single line from the MSVC implementation of the C++ standard library (https://github.com/microsoft/STL/blob/main/stl/inc/xtree): using _Scary_val = _Tree_val<conditional_t<_Is_simple_alloc_v<_Alnode>, _Tree_simple_types<value_type>,
_Tree_iter_types<value_type, typename _Alty_traits::size_type, typename _Alty_traits::difference_type,
typename _Alty_traits::pointer, typename _Alty_traits::const_pointer, value_type&, const value_type&,
_Nodeptr>>>;
Also, good luck understanding this class member definition. Hope you figured out _Scary_val! _Compressed_pair<key_compare, _Compressed_pair<_Alnode, _Scary_val>> _Mypair;
(Hint: Empty base class optimization.) |
|
For Go and C on the other hand I think it works very well since the core languages are so simple it's viable to read others code successfully without being a language expert. I read the Go stdlib code all the time if something is unclear in the documentation (the docs are good but sometimes there are edge cases that are not clearly documented).