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

Почему работает и так, и так: arr[i] и i[arr]? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ К какому типу грамматики относится грамматика C++? http://www.cyberforum.ru/cpp/thread574020.html
Доброго времени суток. Пишу курсовую на тему "Компиляторы". Была дана задача реализовать 2 парсера, которые будут проверять оформление сорцов на шарпе и плюсах. В качестве генератора использовал ANTLR, которые позволяет генерироать LL(k)-грамматики Шарп сделать получилось. Грамматику C++ я не смог формализовать с помощью LL(k)-грамматики. И тут у меня вопрос - к какому же всё таки типу...
C++ Считывание пикселей в игре Всем добрый день. Загорелся идеей сделать следущее: программу, которая в популярной игре CS 1.6 будет сканировать игровую область и при обнаружении в этой области моделек противника (или его головы) будет наводить прицел (мышь) на него. Т.е. идет непрерывное сканирование изображения игры. Подскажите как это можно реализовать, возможно уже имеются похожие готовые решения. Заранее спасибо! http://www.cyberforum.ru/cpp/thread565063.html
C++ Перемножения матриц с OpenMP дольше чем...
Здравствуйте! Написал 2 программы перемножения матриц, одну с использованием OpenMP, другую - просто. 2 матрицы 1000х1000 с использованием OpenMP высчитываются дольше. Процессор Intel Atom N570, поддержка OpenMP в проекте включена. Собственно, вопрос: почему дольше и что не так сделал? #include "stdafx.h" #include <iostream> #include <ctime> #include <clocale> #include <omp.h>
Посоветуйте книгу по разработке OLE DB и ODBC провайдеров. C++
Уважаемые коллеги. Не знаю в какой раздел написать. Думаю, что это ближе к C++. Посоветуйте что почитать по разработке OLE DB и ODBC провайдеров. Пока нашел на амазоне "OLE DB and ODBC Developer's Guide" Автор chuck wood. Книга 1999 года. Стоит много. Отзывов не нашел, так же как и электронной версии для "ознакомления". Сомневаюсь, стоит ли брать.
C++ C++ prog как cgi-скрипт, от чего иная инфа? http://www.cyberforum.ru/cpp/thread556141.html
Здравствуйте. Я новичок на форуме, не ругайте если что-то где-то не то разместил или не понятно рассказал. Описываю проблемы-вопрос 0) Использую Slackware 13.37 и встроенные методики 1) есть элементарнейший код: #include <iostream> using namespace std;
C++ Можно ли узнать размер одного элемента в STL контейнере? Допустим, мне захотелось узнать, сколько памяти ест мой map. Для этого надо знать размер 1 элемента. Я погуглил, покопался в cpp-reference, но ничего полезного не нашел. Сойдут и нестандартные способы, кроме изучения исходников компилятора. P.S. для примера std::map< int, int > map; В этом примере кроме pair< int, int >, который вешает 8 байт, теоретически должны храниться еще 3 указателя,... подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16943 / 5348 / 329
Регистрация: 30.03.2009
Сообщений: 14,383
Записей в блоге: 26
15.05.2012, 08:49     Почему работает и так, и так: arr[i] и i[arr]?

Не по теме:

Цитата Сообщение от lazybiz Посмотреть сообщение
Ну как же!?
Данный момент (декомпозиция массива) был унаследован из языка Си, в стандарте которого я более-менее разбираюсь. Дальше речь пошла о ссылках, которые есть только в Си++. И в этом я разбираюсь плохо, хотя немного пораскинув мозгами пришёл к выводу: Возвращение ссылки на локальный объект



Цитата Сообщение от ValeryS Посмотреть сообщение
Assembler
1
2
3
4
ax--адрес 
bx--смещение 
add ax,bx
mov dx[ax]
что соответствует
*(a + b*sizeof(type))
Только в твоём ассемблерном фрагменте нету sizeof'а

Цитата Сообщение от diagon Посмотреть сообщение
Вообще, по стандарту, y[x] означает *(y + x)
Только если копать дальше, то *(y + x) при переходе в абсолютные значения адресов означает чтение из адреса y + x * sizeof(*y)
 
Текущее время: 11:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru