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

Как сравнить 2 массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод из файла (Pascal -> C++) http://www.cyberforum.ru/cpp-beginners/thread1214553.html
Помогите пожалуйста переписать с Pascal на C++ ввод из файла. Файл примерно такой: 5 1 2 3 4 5 3 5 2 Assign(ft,'in.txt'); Reset(ft); Readln(ft,n);
C++ Программа для вычисления суммы ряда Нужно написать программу для вычисления суммы ряда. Формулы надо переписывать внутрь сообщения. Редактор формул - внизу окна. http://www.cyberforum.ru/cpp-beginners/thread1214547.html
C++ Рост учеников класса задан в виде массива. Определить средний рост мальчиков и девочек
Рост учеников класса представлен в виде массива. Определить средний рост мальчиков и девочек. Вывести сообщение кто выше девочки и мальчики. Только-только начинаю и не знаю совсем. Программа...
Вывод двух слов максимальной длины C++
Дан файл со словами,требуется вывести на экран два слова максимальной длины. Имеется программа для вывода одного слова,для двух вот никак не могу сообразить Вот для одного #include "stdafx.h"...
C++ Программа на файл содержащий сведения о телефонах http://www.cyberforum.ru/cpp-beginners/thread1214517.html
А.Программа на файл, содержащий сведения о телефонах абонентов. Каждая запись имеет поля: фамилия абонентов, год установки телефона, номер телефона. Количество записей произвольное. Б. Написать...
C++ Дерево отрезков в определенной модификации Нужно уметь выполнять операции вида: 1) Присвоение на отрезке ( А l r x (от l до r сменить значения на x) 2) Сума на отрезке( Q l r (найти суму от l, r)) Помогите подправить мой код: #define... подробнее

Показать сообщение отдельно
Psilon
Master of Orion
Эксперт .NET
5909 / 4806 / 634
Регистрация: 10.07.2011
Сообщений: 14,407
Записей в блоге: 5
Завершенные тесты: 4
01.07.2014, 03:03
Цитата Сообщение от IGPIGP Посмотреть сообщение
Я уже спрашивал про односимвольные строки, которые сравнивать не намного труднее целых чисел... Последний вопрос я задал о том же, но иначе: представьте длинные строки в качестве ключей в двух ветках всего. А свитч в цикле работает, то есть сравнивать часто приходится. Строчки для сравнения часто приходят на 50-70% совпадающие с ключами вначале. Пусть это пути к ресурсу, например.
Нам-то понятно, что односимвольные строки можно сравнивать как числа. Но компилятору плевать, какая там длина Тем более, что шарп оперирует исключительно UTF8-строками, поэтому "один символ" - понятие растяжимое...

Цитата Сообщение от IGPIGP Посмотреть сообщение
Боязнь, что в процессе "неизменяемая строка" изменится? Это ночной кошмар конечно, если такое случится. Удар в спину просто. Может и не зря перестраховались, - нервы дороже.
Или читаю я его неверно...
просто метод EqualsHelper может вызываться откуда угодно (в пределах класса). А т.к. это стандартная библиотека, то она работает в предположении полного отказа любой части, все функции максимально независимы и всегда проверяют предусловия, не перекладывая это на вызывающий код. Тем более, что сравнить 2 числа не такая уж проблема. А вот возможные баги намного печальнее. Ну и в крайнейм случае компилятор может заинлайнить метод, увидеть две одинаковых проверки и одну выкинуть за ненадобностью.

Добавлено через 33 секунды
Цитата Сообщение от IGPIGP Посмотреть сообщение
Я уже спрашивал про односимвольные строки, которые сравнивать не намного труднее целых чисел... Последний вопрос я задал о том же, но иначе: представьте длинные строки в качестве ключей в двух ветках всего. А свитч в цикле работает, то есть сравнивать часто приходится. Строчки для сравнения часто приходят на 50-70% совпадающие с ключами вначале. Пусть это пути к ресурсу, например.
Нам-то понятно, что односимвольные строки можно сравнивать как числа. Но компилятору плевать, какая там длина Тем более, что шарп оперирует исключительно UTF8-строками, поэтому "один символ" - понятие растяжимое...

Цитата Сообщение от IGPIGP Посмотреть сообщение
Боязнь, что в процессе "неизменяемая строка" изменится? Это ночной кошмар конечно, если такое случится. Удар в спину просто.
просто метод EqualsHelper может вызываться откуда угодно (в пределах класса). А т.к. это стандартная библиотека, то она работает в предположении полного отказа любой части, все функции максимально независимы и всегда проверяют предусловия, не перекладывая это на вызывающий код. Тем более, что сравнить 2 числа не такая уж проблема. А вот возможные баги намного печальнее. Ну и в крайнейм случае компилятор может заинлайнить метод, увидеть две одинаковых проверки и одну выкинуть за ненадобностью.
одним словом:
Цитата Сообщение от IGPIGP Посмотреть сообщение
Может и не зря перестраховались, - нервы дороже.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru