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

Разница между С и С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсивные функции http://www.cyberforum.ru/cpp-beginners/thread946440.html
1. Написать рекурсивную функцию, которая бы вычисляла n-тое число Фибоначчи. 2. Написать рекурсивную функцию которая печатает элементы массива в обратном порядке.
C++ Принципы отладки в MVS 2012 Привет киберфорумцы! Подскажите пожалуйста, как в режиме отладки путешествовать только по написанному мной коду не, заходя в файлы предоставляемые MVS? А то начинаешь искать ошибку, выставив точку останова, для того, чтобы отследить поведение некоторых переменных внутри функции, тыкаешь Ф11 (чтобы перепрыгнуть из мейн в функцию), а забрасывает в какой-нибудь бесконечный ostream или... http://www.cyberforum.ru/cpp-beginners/thread946414.html
Присвоение значения указателю C++
Как можно, вот так, присваивать указателю значение? Разве, указатель не должен всегда содержать адрес? const char* szString = "Randy";
function overloading C++
День добрый. Что такое function overloading я понимаю, но вот не очень въезжаю, что требуется от меня в задании (учусь в универе прикладных наук по спец. IT) Вот задание: Write functions initialize_xy, that initializes two double variables that are passed as parameters. If we call the function in the form initialize_xy(&x, &y, 1.0, 2.0) it gives x a value 1.0 and y a value 2.0. If, on the...
C++ Избавится от временной переменной http://www.cyberforum.ru/cpp-beginners/thread946385.html
Добрый день! Я через cin >> прошу пользователя ввести время в формате HH:MM char tmp; cout << "Enter time (H:m) "; cin >> _hour >> tmp >> _min; Собственно вопрос: Можно ли изменить код, что бы избавится от временной переменной. И нужно ли вообще это? =)
C++ Сложение дробей Как сложить две дроби? #include<iostream> using namespace std; class Drob { private: float chislet, znamenat; подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
03.09.2013, 08:33     Разница между С и С++
Цитата Сообщение от accept Посмотреть сообщение
по размеру - одно и то же, а кроме размера что он даёт ?
Есть тонкая грань в поведении. Самый простой пример:
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdbool.h>
#include <stdio.h>
 
int main() {
    bool b = 5;
    printf("%d\n", (int)b); // prints "1"
 
    char c = 5;
    printf("%d\n", (int)c); // prints "5"
 
    return 0;
}
То есть преобразование любого числа в "bool" в результате дает либо 0, либо 1.
6.3.1.2 Boolean type
1 When any scalar value is converted to _Bool, the result is 0 if the value compares equal to 0; otherwise, the result is 1.
Аналогичное работает для указателей, только в случае с целочисленной величиной будет warning, в bool же указатель кастуется без проблем:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdbool.h>
#include <stdio.h>
 
int main() {
    int v = 0;
 
    bool b = &v;
    printf("%d\n", (int)b); // prints "1"
 
    char c = &v;
    printf("%d\n", (int)c); // warning: initialization makes integer from pointer without a cast
 
    return 0;
}
Ну а по разумеру стандарт гарантирует только то, что _Bool должен иметь размер достаточный для хранения 0 и 1, не более того
 
Текущее время: 23:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru