Существует несколько способов достижения этого
Использовать медиа-запрос, но для этого требуются размеры шрифта для нескольких точек останова
body
{
font-size: 22px;
}
h1
{
font-size:44px;
}
@media (min-width: 768)
{
body
{
font-size: 17px;
}
h1
{
font-size:24px;
}
}
Использовать измерения в% или em. Просто измените размер базового шрифта, все изменится. В отличие от предыдущего, вы можете просто изменить шрифт тела, а не h1 каждый раз, или позволить размер базового шрифта по умолчанию устройства и оставить все в em
CSS3 поддерживает новые измерения, которые относятся к виду порта. Но это не работает в android
body
{
font-size: 3.2vw;
}
см. css-tricks.com /...., а также посмотреть caniuse.com /....
Вы можете одолжить Multvector внедрение от LLVM. (только заголовок, расположенный в LLVM \ включает \ llvm \ adt)
Boost 1.58 был только что выпущен, и его библиотека Container
имеет класс small_vector , основанный на LLVM SmallVector
.
Существует также static_vector
, который не может вырасти выше первоначально заданного размера. Оба контейнера предназначены только для заголовков.
В библиотеке Facebook folly также есть несколько потрясающих контейнеров.
Он имеет small_vector
, который может быть настроен с параметром шаблона, чтобы действовать как векторы static
или small
повышения. Он также может быть сконфигурирован для использования маленьких целочисленных типов для ведения бухгалтерского учета внутреннего размера, что, учитывая, что они являются facebook, неудивительно:)
Ведется работа по созданию межплатформенной библиотеки, поэтому поддержка Windows / MSVC должна быть когда-нибудь ...
Это было обсуждалось лет назад (и некоторые имена в этом потоке могут показаться немного знакомыми :-)), но я не знаю о существующей реализации. Я не думаю, что я бы попытался адаптировать std :: string к задаче. Точные требования к типу, по которым std :: basic_string не очень хорошо сформулированы, но стандарт довольно ясен, что он предназначен только для чего-то, что во многом похоже на char
. Для типов, которые существенно различаются, это может все еще работать, но трудно сказать, что произойдет - это никогда не предназначалось и, вероятно, не было проверено со многими типами, кроме маленьких целых чисел.
Когда вы приступите к этому, реализация std::vector
с нуля (даже с небольшой векторной оптимизацией) не будет ужасно сложной.
Если T является типом POD, почему бы не использовать basic_string вместо vector ??