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

Поясните код 0[&x] - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать новый список, имеющий элементы, которые есть в обоих списках http://www.cyberforum.ru/cpp-beginners/thread951605.html
По какой то причине не работает функция в списке. Задача такая: Дано два списка числами. Создать новый список который имеет такие элементы которые есть в обоих списках. Функция Compare сравнивает два списка и выводит общие значения. Но когда я пытаюсь добавить их в список они добавляются только в функции и после выхода из нее список очищается. Может кто знает как это решается? ...
C++ Бесплатная русифицированная среда разработки Здравствуйте! Начал учить С++ и теперь понадобился компилятор для него на Windows. Кто-нибудь подскажите простой (максимально), бесплатный и желательно русифицированный компилятор. http://www.cyberforum.ru/cpp-beginners/thread951592.html
C++ Использования Unicode в консоле
Здравствуйте, скажите пожалуйста, что нужно сделать что б в консольной программе отображались символы Юникода (например ♞) Я уже перепробывал очень много решений, но все равно не работает. При добавлении этих строчек в код SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); У меня вместо символов отображаются прямоугольники.
C++ private, protected, public
class test { public: test(); int getPrivate(); int vpublic; protected: int vprotected; private: int vprivate;
C++ Winsock. Recv с ошибкой 10053(WSAECONNABORTED) http://www.cyberforum.ru/cpp-beginners/thread951577.html
Приветствую. Сначала отсылаю запрос на сервер, получаю ответ, обрабатываю. Всё хорошо, но вот после отправки второго запроса, получение ответа завершается с ошибкой 10053(WSAECONNABORTED). Извиняюсь за неразборчивый код, только учусь. Основа кода взял с msdn. Весь код: #define WIN32_LEAN_AND_MEAN #include <windows.h>
C++ Стандартный входной поток Добрый день, помогите разобраться. Хочу написать функцию, которая читает из входного потока некое количество данных вида "КЛЮЧ<табуляция>ЗНАЧЕНИЕ" и кладет ключи и значения в вектор структур. Поправьте пожалуйста, чую много косяков. vector <Data> read_list (vector <Data> d) { Data temp = (Data)malloc(sizeof(data)); while (cin»temp->key && cin»temp->value) { d.push_back(temp); }... подробнее

Показать сообщение отдельно
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
11.09.2013, 11:36     Поясните код 0[&x]
Все началось с фразы "от перестановки слагаемых сумма не меняется". Вот что я имел ввиду:
допустим имеем int *ptr, обращаемся к 11му элементу двумя способами ptr[10] и 10[ptr]. Разворачиваем первую запись
*(ptr + 10 * sizeof(int));
допустим ptr = 1000, тогда вычисляя это выражение получим 1000 + 40 = 1040; теперь разворачиваем вторую запись согласно логике *(a + b) == *(b + a)
*(10 + ptr * sizeof(int));
вычисляем 10 + 1000 * 4 = 4010, что != 1040.
А работает это помому что во втором случае тоже получится
*(ptr + 10 * sizeof(int));
т.е. компилятор понимает что куда подставить и никакой "перестановки слогаемых" нет.

Добавлено через 3 минуты
Цитата Сообщение от Toshkarik Посмотреть сообщение
Kastaneda, наверно, потому что я обсуждаю язык C/C++, как и все тут
Запись *(a + 1) подразумевает обращение ко 2му (или по индексу 1) элементу, так? Если а = 1000 и мы имеем дело с интами, то адрес второго элемента будет 1004, так? Откуда 16?
 
Текущее время: 21:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru