Optimize memory allocation in wxArrayString ctors
Call assign() instead of Add() in a loop: this is not only shorter, but also ensures that reserve() is called before starting the loop and all the required memory is allocated at once.
This commit is contained in:
@@ -36,8 +36,7 @@ wxArrayString::wxArrayString(size_t sz, const char** a)
|
|||||||
#if !wxUSE_STD_CONTAINERS
|
#if !wxUSE_STD_CONTAINERS
|
||||||
Init(false);
|
Init(false);
|
||||||
#endif
|
#endif
|
||||||
for (size_t i=0; i < sz; i++)
|
assign(a, a + sz);
|
||||||
Add(a[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
|
wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
|
||||||
@@ -45,8 +44,7 @@ wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
|
|||||||
#if !wxUSE_STD_CONTAINERS
|
#if !wxUSE_STD_CONTAINERS
|
||||||
Init(false);
|
Init(false);
|
||||||
#endif
|
#endif
|
||||||
for (size_t i=0; i < sz; i++)
|
assign(a, a + sz);
|
||||||
Add(a[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
wxArrayString::wxArrayString(size_t sz, const wxString* a)
|
wxArrayString::wxArrayString(size_t sz, const wxString* a)
|
||||||
@@ -54,8 +52,7 @@ wxArrayString::wxArrayString(size_t sz, const wxString* a)
|
|||||||
#if !wxUSE_STD_CONTAINERS
|
#if !wxUSE_STD_CONTAINERS
|
||||||
Init(false);
|
Init(false);
|
||||||
#endif
|
#endif
|
||||||
for (size_t i=0; i < sz; i++)
|
assign(a, a + sz);
|
||||||
Add(a[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !wxUSE_STD_CONTAINERS
|
#if !wxUSE_STD_CONTAINERS
|
||||||
|
Reference in New Issue
Block a user