Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I would like to know if the compiler (I'm using VS 2015) optimizes also if the same character is found when it checks the code?

Example:

wstrFile.find_last_of(L"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
wstrFile.find_last_of(L"aefgh");

"aefgh" (used two times) are stored once only somewhere when the program is started?

Otherwise, is it useful to store them in a variable to gain (a little bit) space? (in all cases, I will use this variable further)

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
245 views
Welcome To Ask or Share your Answers For Others

1 Answer

An implementation is permitted to make L"abcdef" and L"abcdef" have the same address, but it is impossible for one to make L"cd" point to the middle characters of that literal, because the literal must end with a NULL character, and no NULL character exists at that location in the original string.

Use cases where memory is extremely tight do exist, but I'd say on balance the likelihood of you needing to care about this is slim to none.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...