Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ перевод программы из Паскаля в С++ https://www.cyberforum.ru/ cpp-beginners/ thread1655889.html
var a,b,c:integer; begin read(a,b,c); writeln(a,'+',b,'+',c,'=',a+b+c); writeln(a,'*',b,'*',c,'=',a*b*c); writeln('(',a,'+',b,'+',c,')/3=',(a+b+c)/3:4:3); end.
Где взять решения задач из книги Дейтелов C++
Здраствуйте. Откуда я могу найти решения задач по Дейтел?
C++ Двоичный дамп short и char выводится как int https://www.cyberforum.ru/ cpp-beginners/ thread1655877.html
Доброго дня! Пытаюсь выводить двоичный дамп переменных char, short и int вот таким образом: #include <iostream> using namespace std; template <typename T> void binview(T a) { for (int i = 0; i < sizeof(a)* 8; i++)
C++ Получение MD5 хеша Знаю, на форуме есть много аналогичных тем, но они мне не подходят. Мне надо чтобы проект запускался на компиляторе Visual Studio 2010, и если возможно без использования сторонних библиотек. https://www.cyberforum.ru/ cpp-beginners/ thread1655872.html
Найти максимальный палиндром в заданном строке C++
Добрый вечер. Нужно найти максимальный палиндром в заданной нами строке и вывести этот палиндром. у меня есть алгоритм свой. я в строке ищу равные элементы и проверяю равные ли они, ну и отсчитываю длину его. #include <iostream> #include <cstring> using namespace std; int main() { char *a; a = new char; int b, c, d, i, j, k, max = 0, count = 0;
C++ Вычислить значение суммы знакопостоянного ряда с заданной точностью https://www.cyberforum.ru/ cpp-beginners/ thread1655795.html
Доброго времени суток. Задача следующая: написать программу вычисления суммы ряда с заданной точностью в заданном интервале допустимых значений аргумента. Программа должна формировать таблицу, содержащую значения аргумента ряда, суммы ряда, количество слагаемых и контрольные значения суммы, полученные с помощью стандартных функций библиотеки. Проверить и продемонстрировать ...
C++ Разница между new char[] и new char[]() Доброго времени суток. Подскажите пожалуйста разницу, между следующим кодом: char* ch = new char; и char* ch = new char(); https://www.cyberforum.ru/ cpp-beginners/ thread1655788.html Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю C++
Дело в том что при запуске вот этой программы: #include <iostream> using namespace std; int main () { for (int i=100; i<=999; i++) { if(i % 2 == 0) cout<< i <<"-Chetno. "; if(i % 2 != 0)
C++ "Круговое" подключение файлов Запарился уже с поиском ошибки. В конце концов выел минимальный код с ошибкой. Что-то не так с порядком подключением файлов. Я чего-то не знаю, а может в упор не могу заметить ошибку. "BaseCell.h" #pragma once #include "BaseUnit.h" class BaseCell { https://www.cyberforum.ru/ cpp-beginners/ thread1655780.html C++ Как можно еще использовать std::placeholders вне в связки с std::bind? Добрый день! Как можно еще использовать std::placeholders вне в связки с std::bind? https://www.cyberforum.ru/ cpp-beginners/ thread1655778.html
C++ Запись структуры в файл
Хочу записать структуру в файл. Но записывается только одна структура , последняя. #include "stdafx.h" #include <fstream> #include <iostream> #include <vector> #include <string> using namespace std; //структура для типізованого struct student
C++ Компилятор не хочет создавать экземпляр класса И пишет непонятные ошибки. В чем дело? template<class T>//шаблон класса class elem { public: template<class T> friend class List;//дружественный класс, класc List имеет доступ к приватным полям класса elem elem(); elem(T* obj); ~elem(); https://www.cyberforum.ru/ cpp-beginners/ thread1655746.html
18843 / 9842 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
05.02.2016, 21:18 0

Указатели (Pointers) - C++ - Ответ 8716351

05.02.2016, 21:18. Показов 987. Ответов 3
Метки (Все метки)

Ответ

Вот чем плохи такие огромные посты-вопросы, чтобы на них ответить - нужно потратить больше времени, чем ТС на его написание. Это отталкивает.
Цитата Сообщение от SergioO Посмотреть сообщение
// вызывает ошибку, причем ошибку времени исполнения, компилятор не ругается
Ясное дело. Кто ж разрешал менять строковый литерал. В компиляторе следует включить уровень предупреждений на максимум, иначе он следует legacy правилам из более слаботипизированного Си для таких случаев (с точки зрения С++ код с приведением строкового литерала (который константный массив) к указателю на неконстанту - некорректен).

Цитата Сообщение от SergioO Посмотреть сообщение
объясните в чем ошибка
C++
1
2
c = ++*pc;// ошибка
c= *pc++; // нет ошибки
Первый случай: разыменовывали указатель на начало, увеличили содержимое (которое нельзя менять).
Второй случай, увеличили указатель, разыменовывали предыдущее значение. Записи в read-only память не было. Ошибки - нет.
Первый случай для эквивалентности семантики нужно так записывать:
C++
1
c = *++pc;
Цитата Сообщение от SergioO Посмотреть сообщение
а константный указатель?
Нет. а - массив.
Цитата Сообщение от SergioO Посмотреть сообщение
чтобы это понимать на уровне логики
Надо понимать, что массив и указатель - разные типы. Это вполне возможно на уровне логики.
Цитата Сообщение от SergioO Посмотреть сообщение
почему на просьбу напечатать указатель pc мне дают массив от текущего положения указателя и до конца массива?
Потому что так работает operator << для cout. Воспринимает char * как нуль-терминированную строку и выводит ее всю, до этого самого терминального нуля. Хочешь адрес - приводи к void *

Цитата Сообщение от SergioO Посмотреть сообщение
получается все к чему указатель "прикасается" становится массивом
Нет, указатель остается указателем. Для понимания этого кода читать по теме "арифметика указателей".
Кроме того, в примере с names сам names - массив, его элементы - указатели.

Цитата Сообщение от SergioO Посмотреть сообщение
снова "магия"
А здесь нужно просто разобраться как работает декларация в С\С++.
Можно здесь: http://c-faq.com/decl/spiral.anderson.html

Добавлено через 16 минут
И в качестве компилятора лучше используй Сlang. Он по многим вопросам просто сразу тебе подскажет. Не будет умалчивать о проблемах.

Вернуться к обсуждению:
Указатели (Pointers) C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2016, 21:18
Готовые ответы и решения:

указатели (Pointers)
Напишите функцию, которая будет проверять, если подстрока &quot;IPRE&quot; можно найти в данной линии. ...

Указатели (pointers) и их практический смысл?
Добрый день, будьте добры, пожалуйста, объясните - вот я сейчас читаю про указатели (*pointers...

Pointers
Здравствуйте, не могу понять принцип указателей, можете пожалуйста объяснить почему в этом коде ...

Smart pointers
Уважаемые форумчане, такой вопрос: возможно ли как то в одном контейнере (в векторе например)...

3
05.02.2016, 21:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2016, 21:18
Помогаю со студенческими работами здесь

C++: pointers, clases
Помогите, пожалуйста написать код для задачки Создать программу на языке С++, используя...

Указатели и указатели на указатели, а также типы данных
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс идет медленно....

Const, pointers, reference
const int&amp; const ref1; const int &amp;ref1; int const &amp;ref1; Во всех случаях это константная...

Pointers and dynamic arrays
Изучаю тему указатели и динамичесские массивы в классах. Хотелось бы быть уверенным в следующих...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru