Click here to Skip to main content
14,269,640 members

C / C++ / MFC

 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
harold aptroot12-Jul-18 20:19
memberharold aptroot12-Jul-18 20:19 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
Richard MacCutchan12-Jul-18 20:41
protectorRichard MacCutchan12-Jul-18 20:41 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
0x01AA13-Jul-18 7:44
professional0x01AA13-Jul-18 7:44 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
Richard MacCutchan13-Jul-18 19:13
protectorRichard MacCutchan13-Jul-18 19:13 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
Richard MacCutchan14-Jul-18 4:10
protectorRichard MacCutchan14-Jul-18 4:10 
GeneralRe: c++ - std :: map - Is my idea too dirty? Pin
0x01AA14-Jul-18 5:19
professional0x01AA14-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
mveJochen 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
0x01AA13-Jul-18 6:54
professional0x01AA13-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
0x01AA23-Jul-18 20:48
professional0x01AA23-Jul-18 20:48 
Questionneed COM/DCOM basics Pin
Sakthiu11-Jul-18 3:35
memberSakthiu11-Jul-18 3:35 
AnswerRe: need COM/DCOM basics Pin
jeron111-Jul-18 4:07
memberjeron111-Jul-18 4:07 
QuestionGlobal key press [SOLVED] Pin
Valentinor14-Jul-18 18:38
memberValentinor14-Jul-18 18:38 
SuggestionRe: Global key press Pin
Jochen Arndt10-Jul-18 2:45
mveJochen Arndt10-Jul-18 2:45 
GeneralRe: Global key press Pin
Valentinor10-Jul-18 8:29
memberValentinor10-Jul-18 8:29 
GeneralRe: Global key press Pin
Jochen Arndt10-Jul-18 21:21
mveJochen 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
memberValentinor11-Jul-18 5:09 
GeneralRe: Global key press Pin
Jochen Arndt11-Jul-18 6:40
mveJochen Arndt11-Jul-18 6:40 
GeneralRe: Global key press Pin
Valentinor13-Jul-18 20:45
memberValentinor13-Jul-18 20:45 
GeneralRe: Global key press Pin
Jochen Arndt13-Jul-18 21:00
mveJochen Arndt13-Jul-18 21:00 
GeneralRe: Global key press Pin
Valentinor14-Jul-18 10:58
memberValentinor14-Jul-18 10:58 
QuestionOnDeviceChange dbcc_name length Pin
Member 138991789-Jul-18 4:34
memberMember 138991789-Jul-18 4:34 
GeneralRe: OnDeviceChange dbcc_name length Pin
Richard MacCutchan9-Jul-18 5:26
protectorRichard 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.