Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Why is using better than typedef when defining aliases in C++?

Shulou Source: shulou.com Published: 2022-06-01 20:49:19 09月22日 Update

This article mainly introduces "why using is better than typedef when defining aliases in C++". In daily operation, I believe that many people have doubts about why using is better than typedef when defining aliases in C++. Xiaobian consulted all kinds of materials and sorted out simple and easy-to-use methods of operation. I hope it will be helpful to answer the doubts about why using is better than typedef when defining aliases in C++. Next, please follow the editor to study!

T.43: using is better than typedef when defining aliases

Reason (reason)

Improved readability: With using, the new name comes first rather than being embedded somewhere in a declaration. Generality: using can be used for template aliases, whereas typedefs can't easily be templates. Uniformity: using is syntactically similar to auto.

Improve readability: with using, the new name appears first, rather than embedded somewhere in the declaration. Versatility: using can be used for template aliases, but typedef cannot be simply used for templates. Unity: using is syntactically similar to auto.

Example (sample)

Typedef int (* PFI) (int); / / OK, but convoluted

Using PFI2 = int (*) (int); / / OK, preferred

Template

Typedef int (* PFT) (T); / / error

Template

Using PFT2 = int (*) (T); / / OKEnforcement (implementation recommendation)

Flag uses of typedef. This will give a lot of "hits":-

Mark where typedef is used. You will find code that uses a lot of typedef:-(

At this point, the study of why using is better than typedef when defining aliases in C++ is over. I hope I can solve your doubts. The collocation of theory and practice can better help you learn, go and try it! If you want to continue to learn more related knowledge, please continue to follow the website, the editor will continue to work hard to bring you more practical articles!

Tags: Aliases Clearing Learning place more templates help practical similar next Code reason Syntax readability name suggestion article method first tag Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Docker Microsoft Linux Shulou Technology Redmi