Правильен ли этот код? Должен отметить, что это работает.
void RemoveAllEntries(char*& str, int& size, char item)
{
int count = 0;
char* temp = new char[size];
for (int i = 0; i < size; i++)
if (item == str)
count++;
temp[size-count] = str[size - count];
for (int i = 0; i < size; i++)
if (str != item)
{
temp = str;
}
else
{
temp = str[size-item];
}
delete[] str;
str = temp;
size--;
}
Если это неправильно, то почему это работает? Правильно ли вычитать элемент из размера?
ИЗМЕНИТЬ
int main()
{
int size = 8;
char* str = new char[size] { 'b', 'b', 'b', 'c', 'd', '.', 'f', '\0' };
RemoveAllEntries(str, size, 'b');
for (int i = 0; i < size; i++)
{
cout
Подробнее здесь: https://stackoverflow.com/questions/791 ... array-in-c