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

Указатели - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибки копиляции http://www.cyberforum.ru/cpp-beginners/thread325130.html
Решил изучать С++ по книге Стефана Р. Девиса "С++ для начинающих". Написал пример програмки из книги в DEV-C++. Всё написано правильно, однако при компиляции происходят ошибки, которые вы видете на фото. При нажатии на первую строчку в строке ошибок ничего не происходит, а если нажать на остальные, ошибки выделяются. Подскажите пожалуйста, как их исправить. Вроде бы всё представил...
C++ что не так с программой? С++. помогите, пожалуйста, завтра сдавать уже! при компиляции виснет. Задание такое: в матрице найти 1) максимум среди сумм диагоналей, параллельных побочной 2) произведение в тех строках, где нет отрицательных элементов вот мой код: #include<iostream.h> #include<math.h> void main() http://www.cyberforum.ru/cpp-beginners/thread325129.html
Ошибка в строке file.write C++
Помогите разобраться с записью file.write (49строчка) в чем ошибка??? #include <iostream> #include <fstream> #include <stdlib.h> #include <locale> #include <iterator> #include <conio.h> #include <string> #include <vector> #include <algorithm>
C++ Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.).
Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.). Решить задачу в VC++.
C++ Сформировать матрицу размера M × N, у которой в каждом столбце содержатся все числа из исходного набора http://www.cyberforum.ru/cpp-beginners/thread325098.html
Есть задача Даны целые положительные числа M, N и набор из M чисел. Сформировать матрицу размера M × N, у которой в каждом столбце содержатся все числа из исходного набора (в том же порядке). предположим M=3 N=3 матрица но что значит набор из М чисел? исходя из логики матрица будет 3 3 3 3 3 3 3 3 3 та чтоли?
C++ Из массива A сформировать массив B Пожалуйста кто может помогите! В субботу экзамен - нужен допуск... а я не знаю как справиться с этой задачей((( уже не знаю к кому обратиться(( Задача в с++ "Для заданного массива A из M чисел сформируйте массив В из M/2 чисел по формуле: B(i) = (A(i) + A(M + 1 - i))/2. Предусмотрите случай когда M нечетно. " подробнее

Показать сообщение отдельно
Bers
Заблокирован
26.06.2011, 11:38     Указатели
Цитата Сообщение от taras atavin Посмотреть сообщение
С этим связана одна проблема:
C++
1
delee [] p;//Сколько байт здесь освобождать?
. Как решается?
Существует небольшая проблема:
int m[]; int * p = m; // or int * p = &m[0];
В рантайме невозможно в принципе узнать, какой тег следует приписать указателю - массив или нет.

Однако, есть безопасная функция, которая позволяет узнать сколько было заявлено при new [количество] ???

И да, кстати:

int* iPtr = new int [10];
delete [] iPtr;

Как вы видите, при удалении данных не нужно указывать явное количество.
Напрашивается вывод: реализация delete[] знает точное количество элементов.
Внимание вопрос: если нечто знает количество элементов, на кой чорт это количество дополнительно помнить?

Вопрос номер два: как узнать, какое количество элементов было выделено с помощью new[]
Варианты с шаманством над адресами не предлагать. Существует безопасная функция.

Вопрос номер три: как узнать, на какое количество элементов вообще ссылается указатель iPtr ?
У кого и как об этом можно спросить?

Главный вопрос номер четыре: Как научить клиентский код различать указатель на объект от указателя на массив?

Добавлено через 36 минут
Цитата Сообщение от Hagrael Посмотреть сообщение
Непонятно вообще, зачем массив делают константой.
см. идеологию "строгой типизации". А так же "почему истовый профессионал сыплет константами везде, где только можно".


/ps константность иногда убивает инкапсуляцию.
 
Текущее время: 16:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru