Click here to Skip to main content
15,886,362 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
harold aptroot12-Jul-18 20:19
harold aptroot12-Jul-18 20:19 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
Richard MacCutchan12-Jul-18 20:41
mveRichard MacCutchan12-Jul-18 20:41 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
User 1106097913-Jul-18 7:44
User 1106097913-Jul-18 7:44 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
Richard MacCutchan13-Jul-18 19:13
mveRichard MacCutchan13-Jul-18 19:13 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
Richard MacCutchan14-Jul-18 4:10
mveRichard MacCutchan14-Jul-18 4:10 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
User 1106097914-Jul-18 5:19
User 1106097914-Jul-18 5:19 
AnswerRe: c++ - std :: map - Is my idea too dirty? Pin
CPallini11-Jul-18 21:22
mveCPallini11-Jul-18 21:22 
AnswerRe: c++ - std :: map - Is my idea too dirty? Pin
Jochen Arndt12-Jul-18 23:13
professionalJochen Arndt12-Jul-18 23:13 
I'm a bit late to the party.

The key point of a map is that no two elements in a map container can have equivalent keys. If the number of significant digits entered is less than the precision of double values, this will not happen (besides entering the same value again which applies to ints as well).

But you might get problems when trying to access elements by key when the argument is from other sources (affected by rounding).

That would be my bad feeling:
While there is no problem with the map itself, key based operations ([]operator, erase, swap, find) might behave not as expected (no match). Even when not using such operations now but only iterator based ones, they may be used later when updating the code. So you should at least place a comment about this.

Another option is creating your own std::map based class that disables the affected operations or replaces them with a version that treats close numbers as identical (defining an epsilon).
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
User 1106097913-Jul-18 6:54
User 1106097913-Jul-18 6:54 
AnswerRe: c++ - std :: map - Is my idea too dirty? Pin
Randor 23-Jul-18 12:20
professional Randor 23-Jul-18 12:20 
PraiseRe: c++ - std :: map - Is my idea too dirty? Pin
User 1106097923-Jul-18 20:48
User 1106097923-Jul-18 20:48 
Questionneed COM/DCOM basics Pin
Sakthiu11-Jul-18 3:35
Sakthiu11-Jul-18 3:35 
AnswerRe: need COM/DCOM basics Pin
jeron111-Jul-18 4:07
jeron111-Jul-18 4:07 
QuestionGlobal key press [SOLVED] Pin
Valentinor14-Jul-18 18:38
Valentinor14-Jul-18 18:38 
SuggestionRe: Global key press Pin
Jochen Arndt10-Jul-18 2:45
professionalJochen Arndt10-Jul-18 2:45 
GeneralRe: Global key press Pin
Valentinor10-Jul-18 8:29
Valentinor10-Jul-18 8:29 
GeneralRe: Global key press Pin
Jochen Arndt10-Jul-18 21:21
professionalJochen Arndt10-Jul-18 21:21 
GeneralRe: Global key press Pin
Randor 10-Jul-18 23:53
professional Randor 10-Jul-18 23:53 
GeneralRe: Global key press Pin
Valentinor11-Jul-18 5:09
Valentinor11-Jul-18 5:09 
GeneralRe: Global key press Pin
Jochen Arndt11-Jul-18 6:40
professionalJochen Arndt11-Jul-18 6:40 
GeneralRe: Global key press Pin
Valentinor13-Jul-18 20:45
Valentinor13-Jul-18 20:45 
GeneralRe: Global key press Pin
Jochen Arndt13-Jul-18 21:00
professionalJochen Arndt13-Jul-18 21:00 
GeneralRe: Global key press Pin
Valentinor14-Jul-18 10:58
Valentinor14-Jul-18 10:58 
QuestionOnDeviceChange dbcc_name length Pin
Member 138991789-Jul-18 4:34
Member 138991789-Jul-18 4:34 
GeneralRe: OnDeviceChange dbcc_name length Pin
Richard MacCutchan9-Jul-18 5:26
mveRichard MacCutchan9-Jul-18 5:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.