Мне нужно хранить количество строк (они останутся постоянными и не будут изменены) в массиве и обращаться к ним много раз, мы хотим добиться как можно более быстрого поиска. Что из нижеперечисленного даст более быстрый доступ:
Подход 1:
const char* string_literal[] = {"Test1","Dummy","Dummy","Test2","Test3","Dummy"}; // storing as string literals
... ... ... ...
... ... ... ...
const char* string_literal1000[]= {"Beta1","Beta2","Beta3"};
Подход 2:
const char test1ptr[] = "Test1",
const char test2ptr[] = "Test2",
const char test3ptr[] = "Test3",
const char dummyptr[] = "Dummy",
const char* string_ptr1 [] = {test1ptr,dummyptr,dummyptr,test2ptr,test3ptr,dummyptr}; // storing as pointers
... ... ...
const char* string_ptr1000[] = {"Beta1","Beta2","Beta3"};
Или; Подход 1 и 2 приведут к одинаковой производительности?
Примечание:
- У меня будет около 1000 записей (например, string_ptr1, sting_ptr2 и т. Д. Или string_literal1, string_literl2 и т. Д.), Содержащих в среднем 20 строк (например, "test1", test2 "и т.
- «Пустышка» появится только с несколькими записями.