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

Сравнение двух строк оператором == - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не работает явное преобразование типа, а неявное работает. http://www.cyberforum.ru/cpp-beginners/thread347792.html
Опечатался. Не работает явное преобразования, а не явное работает. Есть класс( не обращайте внимание на члены данные класса ): class Complex { friend std::istream &operator>>( std::istream &, Complex & ); friend std::ostream &operator<<( std::ostream &, const Complex & ); public: explicit Complex( double = 0.0, double = 0.0 );
C++ Системы счисления и вывод результата Здравствуйте, я получил задание создать программу которая принимает значение в 10-тичной системе и выводит на экран значение в любой выбранной системе от 2 до 36. #include<iostream> using namespace std; void st(int dig,int sys); void main() { int dig,sys=0; cout<<"Enter a digit:\t"; cin>>dig; cout<<"Enter a system(2-36):\t"; http://www.cyberforum.ru/cpp-beginners/thread347770.html
C++ Размер массива
Нужно создать массив для хранения различных символов (буквы и различные знаки) Необходимо узнать его размер. Как это сделать? В массиве хранятся // символы поодиночке char *a = new char ;
C++ Стандартный класс complex.
1)Есть ли стандартный не шаблонный класс complex? Я нашел только шаблонный класс, определенный в заголовочном файле <complex> Есть ли нет не шаблонного класса complex, нельзя ли объявить объект complex без указаний типа? Судя по этому( в самом низу страницу ) http://msdn.microsoft.com/en-us/library/7a40a0e3(VS.80).aspx , вроде бы можно( я англ. плохо знаю ), а компилятор Visual Studio не...
C++ Помогите настроить CodeBlocks... http://www.cyberforum.ru/cpp-beginners/thread347740.html
Скачал CodeBlocks 10,5 ,при установки поставил везде галочки .Потом решил проверить работоспособность:Создал консольное приложение,выбрал язык с++,компилятор не стал менять,затем вылетела ошибка:"This wizard doesn't know to setup exception flags for this compiler" ,нажал Ок ,там уже была вбита программа "Hello World" : #include <iostream> using namespace std; int main() { cout <<...
C++ sizeof и количество элементов в массиве Доброе время суток. Подскажите пожалуйста почему sizeof не возвоащает кол.элементов в массиве. #include <iostream> int main() { using namespace std; short int symbols = {34,6,4,6,3,43,2,55,12,432,54,34,543,234,432}; int a; подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
03.09.2011, 21:22     Сравнение двух строк оператором ==
Цитата Сообщение от Trydorg Посмотреть сообщение
Почему different?
Потому что char * это никакая не строка, а всего лишь указатель на char. И сравниваем мы не строки, а указатели на них. Естественно, что указатели разные.

Цитата Сообщение от Trydorg Посмотреть сообщение
Почему equal?
Потому что компилятор оптимизирующий и хранит дублирующиеся строковые значения в одном месте. Но он не обязан этого делать. Например, gcc
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
diagon@shadeware:~$ cat 11.cpp && gcc 11.cpp && ./a.out
#include <stdio.h>
int main()
{
    char * a = "abc";
    char * b = "abс";
    printf("a == b is %s\n", a == b ? "true" : "false");
}
11.cpp: In function ‘int main()’:
11.cpp:4:13: warning: deprecated conversion from string constant to ‘char*11.cpp:5:13: warning: deprecated conversion from string constant to ‘char*’
a == b is false
diagon@shadeware:~$
 
Текущее время: 02:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru