Форум программистов, компьютерный форум CyberForum.ru

Правильно ли реализовано удаление элемента из массива и совершен вызов деструктора? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задача "Кто старше?" (подскажите где ошибка в коде) http://www.cyberforum.ru/cpp-beginners/thread1213395.html
Здравствуйте!подскажите где может быть ошибка, на сайте показывает частичное решение, Условие: Программа принимает три числа: возраст Антона, возраст Бориса и возраст Виктора. Определите, кто из них старше остальных. Входные данные Входная строка содержит три натуральных числа: возраст Антона, возраст Бориса и возраст Виктора. Выходные данные Выходная строка должна содержать латинскую букву...
C++ Реализация алгоритма сжатия JPEG помогите пожалуйста! после завтра диплом уже защищать, а я ни на шаг не могу сдвинуться с этой прогрммой(( нужно написать на С++ алгоритм сжатия изображения JPEG. http://www.cyberforum.ru/cpp-beginners/thread1213376.html
C++ Баг в реализации Хаффмана
Здравствуйте, дорогие форумчане. Тут такой вопрос - алгоритм почему-то "теряет" последнюю букву в тексте, если его размер очень мал. Например, если на вход подается "Raiden", то после сжатия и разжатия будет "Raide". Либо в редких случаях бывает даже добавление буквы в конец разархивированного сообщения. Отладка и гугление пока что ничего не дали. Прошу вашей помощи. Вот код #include <iostream>...
C++ Привести код в рабочее состояние
Здравствуйте! Есть задание в котором нужно ввести информацию о такси (номер, стоимость, вид транспорта) и так же позволяющий удалить указанный номер такси. не дали вот такой код. Как его можно привести в рабочее состояние? enum Ttransport{bus, car, van}; struct marshrut { int nomer; float vartist; Ttransport transport; };
C++ Написать программу, которая выводит на экран предложения согласно заданию http://www.cyberforum.ru/cpp-beginners/thread1213345.html
Добрый день . Вот такая вот програмка: Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем заданная с клавиатуры буква. Кто может помочь с языка С переделать её в С++ вот вариант на С: #include <stdio.h> #include <stdlib.h> int main(void) {
C++ Вывести строку, содержащую символы заданной строки, между которыми вставлено по одному пробелу Что то вот на решал, немного вроде не так посмотрите оцените пожалуйста; /* Дана непустая строка S . Вывести строку, содержащую символы строки , между которыми вставлено по одному пробелу. */ #include <iostream> #include <conio.h> main() { char string; int code,i,j; while(1){ подробнее

Показать сообщение отдельно
Trwsdf
Заблокирован
22.06.2014, 16:26     Правильно ли реализовано удаление элемента из массива и совершен вызов деструктора?
Цитата Сообщение от Tulosba Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Код C++
1
2
3
4
5
6
7
8
int main() {
const int N = 42;
 int a[N];
 int (*p)[N] = &a;
return 0;
}
p - указатель на массив из N элементов типа int
.
Теперь вы окончательно укоренили мне мнение о вас, о вашей безграмотности.
Вы так и не поняли, что указателей на массив не существует, существует, только указатели на один элемент массива, их то мы и считаем указателями на массив.
Попытаюсь повторить, но судя с ответов предыдущей темы, ожидаю, что автор и тут будет агрессивно настроен.

То, что вы написали, это указатель на указатель на 1й элемент массива, т.е. есть массив в виде указателя на 1й элемент массива (о чем я писал выше), а есть указатель на этот указатель, - он и является указателем на массив. Т.е. массив в виде указателя на 1й элемент массива - он и считается указателем на массив. Указатель на один элемент массива считается указателем на массив, - но реально не на весь массив, а лишь на один его элемент. Указателей на массив НЕТ И НЕ БЫЛО. Они и не нужны, ибо мы знаем особенность массива (что его элементы в памяти всегда и гарантированно расположены один за другим) и нам всегда хватает лишь указателя на один элемент массив. О чем я выше говорил.
Ниже код:
C++
1
2
3
4
5
6
7
8
9
10
11
 const int N = 3;
    int a[N]={1,2,3};
    
    int (*p)[N] = &a;
    //**p -указатель "на массив" есть указатель на указатель на 1й эдемент массива
    //т.е. есть указатель на массив, в виде указателя на 1й элемент, а
    //указатель на этот указатель и есть указатель на массив. Таким образом
    //эта конструкция подтверждает то, что указатель на один элемент 
    //считается указателем на массив.
    cout<<**p; //1 - указатель на один элемент массива, но не на массив из n элементов.
    cout<<(*p)[2];
 
Текущее время: 18:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru