Форум программистов, компьютерный форум, киберфорум
Наши страницы

Неясности в теории - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод интервального ряда в виде таблицы http://www.cyberforum.ru/cpp-beginners/thread1549851.html
Имеется информация о количестве книг, полученных студентами по абонементу за прошедший учебный год. Массив чисел: 4 интервала ---------------------------------------------------------------...
C++ Узнать сколько символов осталось во входной очереди после cin Доброго времени суток, подскажите пожалуйста как узнать, сколько символов осталось во входной очереди (скажем после неудачного использования cin). При этом cin.get() нельзя применять, ибо эти символы... http://www.cyberforum.ru/cpp-beginners/thread1549831.html
Узнать скорость записи в файл C++
Планирую работать с записью в файл больших объёмов. Хотелось бы узнать скорость записи. Мб для теста использовать вечный цикл и забивать файл одиночными символами и по достижении секунды выйти из...
не работает код из книги класс C++
сейчас учусь программированию по книге и дошел до классов. суть классов немного разобрался, но почему то методы класса не работают. хотя переписал все по книге. книга джесс либерти. освой...
C++ Поиск каталогов http://www.cyberforum.ru/cpp-beginners/thread1549811.html
Как реализовать функцию, находящую на диске все каталоги?
C++ Функциональный объект и подсчёт определённых значений в векторе Необходимо реализовать подсчёт количества элементов вектора, больших некоторого значения (вводится с клавиатуры), используя функтор. #include "stdafx.h" using namespace std; int i = 0;... подробнее

Показать сообщение отдельно
hoggy
6697 / 2879 / 494
Регистрация: 15.11.2014
Сообщений: 6,478
Завершенные тесты: 1
12.10.2015, 21:01
Цитата Сообщение от mporro Посмотреть сообщение
Но Ваши иллюзии точно не стоит транслировать новичкам, которые потом будут только путаться в относительно простом языке, выискивая там несуществующие массивы.
мои иллюзии описаны в стандарте языка си.

все что осталось понять новичку:

1.
что массив может неявно каститься к указателю на свой первый элемент.
но сам по себе такой указатель не имеет нималейшего отношения к массивам.

то, что он на самом деле смотрит на начало массива - это лишь в голове программиста.
с точки зрения компилятора - он смотрит тупо на какой-то одиночный объект.

2.
что существует тип данных "указатель-на-массив".
и вот его компилятор интерпритирует,
именно как указатель на сам массив.

такой тип данных несет в себе информацию о природе массива,
на который он указывает.

Цитата Сообщение от mporro Посмотреть сообщение
В С тип данных ничего не "хранит"
все он хранит.
сишка в этом смысле отличается лишь раздолбайством:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include  <stdio.h>
 
// <--- expected ‘const int (*)[3]’ but argument is of type ‘const int (*)[2]’
void foo( const int (*pArr)[3] )
{
    for(size_t n=0;n<3;++n)
        printf("%d, ", (*pArr)[n] );    
}
 
int main(void)
{
    printf("Hello, world!\n");
    
    const int a[]={1,2};
    
    // <--- warning: passing argument 1 of ‘foo’ from incompatible pointer type
    foo(&a);
    
    return 0;
}
а так же невозможностью использовать статическую информацию времени компиляции.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru