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

Адрессация в 2-х мерных динамических массивах и nullptr - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Приватный конструктор и деструктор http://www.cyberforum.ru/cpp-beginners/thread645533.html
Зачем нужны приватный конструктор и деструктор? Как они работают?
C++ в Dev C++ 5 Win7 жалуется на возникшую проблему и просит закрыть программу. #include <iostream> #include <string> using namespace std; int main () { setlocale(LC_ALL, "Russian"); int i,n; char* m; string arr; cout << "Вас приветствует кибер-журнал" << endl << "Введите количество данных" << endl; cin >> n; http://www.cyberforum.ru/cpp-beginners/thread645518.html
инициализация перменных в конструкторе C++
у меня есть статический вектор векторов инт(vector<vector<int>>),который мне нужно заполнить данными,но при попытке написать vector<vector<int>> Subscriber::_home_network_prefixes.push_back(prefix); ничего не выходит,точка перед push_back подчёркнута красным и пишет требуется объявление помогите понять в чём дело
Я очень сильно запустил свой ПК,посоветуйте что нибудь т.к. очень сильно тормозит C++
Сильно запустил свой ПК,при включении приходится ждать около часа чтобы не лагал так сильно,при переустановке Windows лагает также
C++ после ввода сразу вылетает с крит. ошибкой http://www.cyberforum.ru/cpp-beginners/thread645502.html
int main(int nNumberofArgs, char* pszArgs) { char *ipshnik; cout << "enter IP"; cin >> *ipshnik; system ("ping ") + *ipshnik;
C++ Массив: переворот половины массива Народ. Помогите пожалуйста с программой. Нужно сделать переворот половины массива. Нужно изменить программу. (желательно с комментариями). Заранее спасибо. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iostream.h> void main (void) { подробнее

Показать сообщение отдельно
Aliru777
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 71
01.09.2012, 22:22     Адрессация в 2-х мерных динамических массивах и nullptr
Сегодня читал стаью о памяти,указателях итп
Написал программу для динамического 2х мерного массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// what is array.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "iostream"
#include <conio.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int *p=new int[4];
    cout<<p<<endl;
    cout<<&p<<endl;
    cout<<&p[0]<<endl;
    int y[9]={1,2,3,4,5,6,7,8,9};
    cout<<y<<endl<<&y<<endl<<&y[0]<<endl;
    int a,b;
    cout<<"Enter a & b\n";
    cin>>a;
    int **p1=new int*[a];
    cin>>b;
    for(int i=0; i<a; i++)
{
   p1[i] = new int [b];
}
    for (int i=0; i<a; i++)
        for (int j=0;j<b; j++)
            cin>>p1[i][j];
    for (int i=0; i<a; i++)
    {
        for (int j=0;j<b; j++)
            cout<<p1[i][j]<<"\t";
        cout<<endl;
    }
    cout<<(p1[a-1])<<"\t"<<&p1[0][0]<<endl;
    cout<<(&p1[1][1]-&p1[1][0])<<endl;
    cout<<(&p1[1][1]-&p1[0][1])<<endl;
    cout<<(&p1[1][1]-&p1[0][0]);
    getch();
    for(int i=0; i<a; i++)
   {
       delete[] p1[i];
   }
    delete []p;
    delete []p1;
    return 0;
}
Вопрос почему разница между адрессом p1[1][1] и p1[0][1] 18(у меня) - те я думал что они должны идти друг за другом, как [1][0] и [1][1] где разница в 1(ну или 4 байта)?
Еще вопрос - еще не осилил Ван ден Линдена, но обычный массив в мрем случае "у" имеет один и тот же адресс 00С допустим
C++
1
2
int y[9]={1,2,3,4,5,6,7,8,9};
    cout<<y<<endl<<&y<<endl<<&y[0]<<endl;
Это так описано в компиляторе?
И последний вопрос у меня при строка int *Y=nullptr; вызывает ошибку С2065 - но может это связано с вижуал студио 2005?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru