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

Выводятся две строки подряд при выводе лишь одной - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный вектор: можно ли как-то перегрузить [] чтобы доступ был [0, 0] http://www.cyberforum.ru/cpp-beginners/thread1244833.html
У меня есть двумерный вектор, можно как-то перегрузить чтобы доступ был ? А то сейчас сделал через прокси-класс , но все-таки хотелось бы вариант с одинарными.
C++ Возвращаемый тип конструктора копирования в абстрактном классе Здравствуйте! Есть абстрактный класс (с "чистыми" виртуальными функциями), и в нем необходимо явно определить конструктор копирования. Но если написать, что возвращаемый тип - сам класс, то компилятор не допустит этого по понятным причинам. А если возвращать ссылку, или указатель, то придется выделять память на куче, чего делать совершенно не хочется. Что делать? http://www.cyberforum.ru/cpp-beginners/thread1244724.html
Найти ошибку в программе C++
#include<iostream> #include<stdio.h> #include<vector> using namespace std; int main(){ int n; cin>>n; vector<int> g;
C++ Float показывает 0.00000
int n; float f; for(int i = 1; i<5; i++) { lvl.n = 1; stamina.n = 10+(lvl.n*2); Int.n = 10+(lvl.n*2); hp.n = 100+(stamina.n*4)+(lvl.n*2*4); mp.n = 50+(Int.n*2)+(lvl.n*2*2);
C++ Каким образом работает swap в приведенном коде? http://www.cyberforum.ru/cpp-beginners/thread1244636.html
Каким образом работает swap в коде ниже? #include<list> #include<memory> #include<utility> struct test { std::list<std::unique_ptr<int> >a,b; }; int main()
C++ Функция для проверки почтового адреса Мне нужно написать функцию, которая проверяет правильно ли введен почтовый адрес. Условий корректности много. Например, символ "точка" не должен располагаться сразу после символа "@". Я это условие прописал так: void Chek(int n, char SX1) ... for(index=0;index<strlen(SX1);index++) { if(SX1=='@'&&SX1=='.') cout<<"Неверно написано"<<endl; } Или нужно, чтобы в адресе присутствовал... подробнее

Показать сообщение отдельно
Alex5
883 / 618 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
20.08.2014, 15:28     Выводятся две строки подряд при выводе лишь одной
Цитата Сообщение от Infinity20 Посмотреть сообщение
Далее, выведет это:
abcdklmn //cout << str1 << endl;
Как строки расположены в памяти - см. рис.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    char str1[] = "", str2[] = "";
    cout << "address of str1  " << (void*)&str1[0] << endl;
    cout << "address of str2  " << (void*)&str2[0] << endl;
 
    cin >> str1;
    for( char* p  = &str1[0];  p!= &str1[0]+10 ;  ++p )
    {
        cout << "  " << *p;
    }
    cout << endl;
    //cout << str1 << endl;
    
    cin >> str2;
    for( char* p  = &str1[0];  p!= &str1[0]+10 ;  ++p )
    {
        cout << "  " << *p;
    }
    cout << endl;

Цитата Сообщение от Infinity20 Посмотреть сообщение
выведет abcdklmn
В Вашем случае, Infinity20, видимо, адреса str1 и str2 отличаются на 4 байта. (Подробнее, см. сообщение #3 от tehnar5 ).
Миниатюры
Выводятся две строки подряд при выводе лишь одной  
 
Текущее время: 00:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru