让我先从一些背景知识开始:
通过"tribool"我理解一个可以包含以下值之一的变量:true,false或null.
问题是复制int的数组与指向 bool的指针,OP希望有一个尽可能小的tribools数组(或多或少).
使用"一点点"最基本的bit-fu,我提出了一个解决方案,每个tribool使用2位,并允许以16个字节存储OP的64个tribool数组,这是可以的.
我使用的tribool机制非常简单,如:
但后来我想......"比特"的算法定义是:
阿位是指定其中两个同样可能的事件应发生的信息量.
显然,真/假值是1位大.两个真假值整体上是2位大.
那么我们的概念摩擦呢呢?
我的观点是:就所包含信息的大小而言,tribool大于1位但小于2位.
(以上都不是正式的证据,但我相信我们可以同意关于tribool的"大小"严格大于1位且严格小于2.)
我的问题是:
如何以编程方式利用tribool信息少于2位的事实,并在软件(c,c ++?)中实现一个N tribool数组,其内存占用量小于N/4某些N的字节数?
是的,我确实理解这样的实现并不是真正的硬件友好,并且执行速度比任何具有冗余的常见解决方案都要慢(如OP的问题所示).让我们优化空间,而不是效率.
显然,这种实现需要一种摩博尔的不同表示而不是一对bool(这本身就是多余的,如前所述).该理论认为可以实现这一目标,我希望看到实际的实施.有任何想法吗?
假设我有一个标题 foo.h:
#ifndef FOO_H
#define FOO_H
#include <string>
#include "non_standard_class.h"
std::string foo(MyClass a);
...
#endif
Run Code Online (Sandbox Code Playgroud)
和实施 foo.cpp将是
#include <vector>
#include "foo.h"
std::string foo(MyClass a)
{
std::vector<int> x;
MyClass b;
...
}
Run Code Online (Sandbox Code Playgroud)
重新包括<string>和non_standard_class.h进入是一个很好的实践foo.cpp吗?关键是:如果我读foo.cpp了,我怎么能理解MyClass来自哪里?我需要看看,foo.h但会更困难.
我的strings.xml中有我的字符串:
<string name="day_format">EEEE</string>
<string name="date_format">dd. MMMM</string>
<string name="date_format_us">MMMM dd</string>
Run Code Online (Sandbox Code Playgroud)
我在代码中使用它们:
private void reinit() {
mDayFormat = getString(R.string.day_format);
if (!DateFormat.is24HourFormat(this))
{
mDateFormat = getString(R.string.date_format_us);
}
else {
mDateFormat = getString(R.string.date_format);
}
mTimeFormat = is24HourMode(this) ? FORMAT_24_HOURS : FORMAT_12_HOURS;
mCalendar = Calendar.getInstance();
}
Run Code Online (Sandbox Code Playgroud)
但它以小写形式显示日期和月份,我希望它可以将两者都大写.我怎样才能做到这一点?
在下面的图片中,我已经模拟了一个CSS活动菜单样式,我希望找到它的例子,并希望能够复制.

您会注意到有一个三角形突出显示活动菜单,它也可以显示为粗体.
问题1.这个"活动菜单三角形样式"实际上叫什么?所以我可以找到CSS的例子.
问题2.我在哪里可以找到这方面的例子?
为什么我需要使用 <text>标记来封装管道文字'|' 在这个标记?当然,它远远超出了ActionLink方法的范围.
@foreach (var item in Model.DetailItem.PlannedResources)
{
<tr>
<td>
@if (Model.ViewMode == ViewMode.Edit)
{
@Html.ActionLink("Edit", "Edit", new { id = item.PlannedResourceId }) <text>|</text>
@Html.ActionLink("Delete", "Delete", new {id = item.PlannedResourceId})
}
@Html.ActionLink("Details", "Details", new { id = item.PlannedResourceId })
</td>
<td>
| @item.ResourceType.Name
</td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)
如果我不使用它,我得到错误CS1525: Invalid expression term '|',但第二个'|' 无阻碍地得到.
我编写了一个方法并用一个按钮连接它,以便在单击按钮时调用它.现在我想要做的是在点击某个其他视图上的按钮时调用相同的方法.
我怎样才能做到这一点?我是否需要使用选择器或通知或简单的方法调用?
我正在使用Fabric运行以下内容:
def staging():
""" use staging environment on remote host"""
env.user = 'ubuntu'
env.environment = 'staging'
env.hosts = ['host.dev']
_setup_path()
def bootstrap():
""" initialize remote host environment (virtualenv, deploy, update) """
require('root', provided_by=('staging', 'production'))
run('mkdir -p %(root)s' % env)
run('mkdir -p %s' % os.path.join(env.home, 'www', 'log'))
create_virtualenv()
deploy()
update_requirements()
Run Code Online (Sandbox Code Playgroud)
但我明白了:
ubuntu@host.dev:~/projects/proj_name$ fab staging bootstrap
[host.dev] run: mkdir -p /home/ubuntu/www/staging
Password for ubuntu@host.dev:
Run Code Online (Sandbox Code Playgroud)
为什么Fabric要求我的密码?这是sudoers文件中没有密码的默认ubuntu root用户.这里发生了什么?
在我没有安装mod_rewrite的情况下,是否有任何简单的方法可以从同一个regex路由器制作URL
http://www.example.com/module=admin&controller=user&action=indexm1=12m2=37
和Zend Framework应该能够通过读取相同的格式来调度控制器.
c ×2
c++ ×2
asp.net-mvc ×1
capitalize ×1
css ×1
date ×1
fabric ×1
geometry ×1
header ×1
iphone ×1
java ×1
linux ×1
methods ×1
mod-rewrite ×1
optimization ×1
php ×1
python ×1
razor ×1
selector ×1
wget ×1