标签: prefix

Objective C中的实例变量/方法参数命名

以下人们对实例变量和方法参数的命名有什么约定 - 特别是当使用方法参数来设置ivars(实例变量)时?

在C++中,我过去经常使用m_ivars 的前缀.在C#中,我遵循了纯粹使用this.ivars 消除歧义的惯例.我已经采用了C++中的等价物(this->).

在目标C中我尝试了一些事情,但没有一个真的令人满意.

除非有人建议一些非常好的东西,否则我将不得不妥协(但请不要让我使用theargs 的前缀!),所以我很想听听大多数人说的话 - 尤其是来自那些一直使用ObjC的人.

在发布这个之前我做了一些尽职调查,并且发现了一些很好的资源:

他们给了我一些想法,但我仍然渴望听到别人在做什么.

[编辑]只是为了澄清:具体是你如何区分我正在寻找的方法和方法 - 无论是通过前缀还是其他技术.

[编辑2]感谢所有的回复和讨论要点.我不是要关闭这个,但只是说,正如我在评论中指出的那样,我接受了使用init args前缀的惯例the(以及setter args with new,无论如何我都在做).这似乎是力量的最佳平衡 - 即使我自己并不热衷于审美.

coding-style objective-c naming-conventions prefix

15
推荐指数
1
解决办法
9163
查看次数

i ++比++ i效率低,如何展示?

我试图通过示例显示前缀增量比后缀增量更有效.

理论上这是有道理的:i ++需要能够返回未增加的原始值并因此存储它,而++我可以返回增量值而不存储先前的值.

但是有一个很好的例子可以在实践中证明这一点吗?

我尝试了以下代码:

int array[100];

int main()
{
  for(int i = 0; i < sizeof(array)/sizeof(*array); i++)
    array[i] = 1;
}
Run Code Online (Sandbox Code Playgroud)

我使用gcc 4.4.0编译它,如下所示:

gcc -Wa,-adhls -O0 myfile.cpp
Run Code Online (Sandbox Code Playgroud)

我再次这样做,后缀增量更改为前缀增量:

for(int i = 0; i < sizeof(array)/sizeof(*array); ++i)
Run Code Online (Sandbox Code Playgroud)

在两种情况下,结果都是相同的汇编代码.

这有些出乎意料.似乎通过关闭优化(使用-O0)我应该看到显示概念的差异.我错过了什么?有更好的例子来展示这个吗?

c++ optimization prefix postfix-operator

15
推荐指数
3
解决办法
8836
查看次数

从中缀转换为前缀

我正在准备考试,我无法理解中缀符号的转换为以下表达式的波兰符号:

(a–b)/c*(d + e – f / g)
Run Code Online (Sandbox Code Playgroud)

任何人都可以一步一步地告诉给定的表达式如何转换为前缀?

algorithm prefix notation

15
推荐指数
4
解决办法
11万
查看次数

Python ElementTree解析未绑定的前缀错误

我在python中学习ElementTree.一切似乎都很好,除非我尝试用前缀解析xml文件:

test.xml:

<?xml version="1.0"?>
<abc:data>
   <abc:country name="Liechtenstein" rank="1" year="2008">
   </abc:country>
   <abc:country name="Singapore" rank="4" year="2011">
   </abc:country>
   <abc:country name="Panama" rank="5" year="2011">
   </abc:country>
</abc:data>
Run Code Online (Sandbox Code Playgroud)

当我尝试解析xml时:

import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

xml.etree.ElementTree.ParseError: unbound prefix: line 2, column 0
Run Code Online (Sandbox Code Playgroud)

我是否需要指定一些内容才能解析带有前缀的xml文件?

python xml prefix elementtree

15
推荐指数
1
解决办法
1万
查看次数

使用Windows 7 REN批量重命名文件(添加前缀)?

我是新手.我已经弄清楚如何在Win 7命令提示符中使用REN编辑批量文件.但是,这次我试图为所有文件添加前缀,但我无法做到.所有文件都是tif文件

例如,文件位于C:\ Users\user1\Desktop\Test_Folder每个文件夹内的文件以9开头.每个文件有5位数(即90200,90201,90202).

我想在每个文件名前面将它添加0(零),并更改为090200,090201,090203 ....

我试过:FOR%v IN(?????.tif)DO REN%v 0%v

我也尝试过:FOR %% a in(*.tif)DO REN"%% a""0%a"

请帮忙!谢谢

cmd rename file prefix

15
推荐指数
2
解决办法
4万
查看次数

节省空间的内存结构,用于支持前缀搜索的排序文本

我有一个问题:我需要根据文件路径前缀节省空间的文件系统数据查找.换句话说,前缀搜索已排序的文本.你说,使用trie,我也想到了同样的事情.麻烦的是,尝试不够节省空间,没有其他技巧.

我有相当数量的数据:

  • 在磁盘上以纯文本Unix格式列出大约450M
  • 大约800万行
  • gzip默认压缩到31M
  • bzip2默认压缩到21M

我不想在内存中接近450M的任何地方吃东西.在这一点上,我很乐意在大约100M左右使用,因为前缀形式有很多冗余.

我正在使用C#来完成这项工作,并且直接实现trie仍然需要为文件中的每一行提供一个叶子节点.假定每个叶子节点都需要对最后一个文本块进行某种引用(32位,比如指向一个字符串数据数组的索引以最小化字符串重复),并且CLR对象开销是8个字节(使用windbg/SOS验证) ,我将花费> 96,000,000字节的结构开销,根本没有文本存储.

让我们看一下数据的一些统计属性.当塞进一个特里:

  • 文字总数独特的"块"约110万
  • 文本文件中磁盘上大约16M的唯一块总数
  • 平均块长度为5.5个字符,最大值为136
  • 当没有考虑重复时,总共大约5200万个字符
  • 内部trie节点平均约6.5个孩子,最多44个
  • 约1.8M内部节点.

叶片产生的过剩率约为15%,多余的内部节点产生率为22% - 过量创建,我的意思是在构造期间创建的叶子和内部节点,但不是在最终的trie中,作为每种类型的最终节点数的一部分.

这是来自SOS的堆分析,指示使用最多内存的位置:

 [MT    ]--[Count]----[   Size]-[Class                                          ]
 03563150       11         1584 System.Collections.Hashtable+bucket[]
 03561630       24         4636 System.Char[]
 03563470        8         6000 System.Byte[]
 00193558      425        74788      Free
 00984ac8    14457       462624 MiniList`1+<GetEnumerator>d__0[[StringTrie+Node]]
 03562b9c        6     11573372 System.Int32[]
*009835a0  1456066     23297056 StringTrie+InteriorNode
 035576dc        1     46292000 Dictionary`2+Entry[[String],[Int32]][]
*035341d0  1456085     69730164 System.Object[]
*03560a00  1747257     80435032 System.String
*00983a54  8052746     96632952 StringTrie+LeafNode
Run Code Online (Sandbox Code Playgroud)

Dictionary<string,int>被用于映射串块到索引到List<string>,并能特里施工后丢弃,虽然GC似乎并没有被删除它(一对夫妇明确集合了这个转储前完成) - !gcroot在SOS并不表示任何根,但我预计后来的GC会释放它.

MiniList<T> …

.net c# algorithm prefix trie

14
推荐指数
1
解决办法
1961
查看次数

Xcode:如何在不出现构建问题的情况下更改项目文件夹名称?

我想更改我的Xcode项目所在的文件夹名称.但是当我这样做时,我无法再构建我的项目了.它向我显示了2个错误:

自编译预编译头文件以来,Apple LLVM编译器3.0错误文件" 项目名称 -Prefix.pch"已被修改

有办法解决这个问题吗?

compiler-construction xcode project prefix

14
推荐指数
1
解决办法
7104
查看次数

删除DataContractSerializer XML输出中的"d1p1"命名空间前缀

我正在使用DatacontractSerializer将我的domainModel序列化为xml文件.我得到的输出如下.

<z:anyType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="1" xmlns:d1p1="DCSerialization_IGITApproach" i:type="d1p1:X" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
  <d1p1:Name z:Id="2">Ankit</d1p1:Name>
  <d1p1:PointsDictionary xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" z:Id="3" z:Size="1">
    <d2p1:KeyValueOfstringPointsArrayq9VX7VJJ>
      <d2p1:Key z:Id="4">key1</d2p1:Key>
      <d2p1:Value xmlns:d4p1="http://schemas.datacontract.org/2004/07/SerializationApproach" z:Id="5">
        <d4p1:points z:Id="6" z:Size="2">
          <d2p1:double>45.5</d2p1:double>
          <d2p1:double>546.45</d2p1:double>
        </d4p1:points>
      </d2p1:Value>
    </d2p1:KeyValueOfstringPointsArrayq9VX7VJJ>
  </d1p1:PointsDictionary>
</z:anyType>
Run Code Online (Sandbox Code Playgroud)

我想摆脱这些"d1p1"名称空间前缀,只想要</PointDictionary>标签代替</d1p1:PointsDictionary>.我已经尝试将DataMember属性放在我的类属性上,但它并没有解决很多问题.由于最终用户可以编辑输出XML文件,因此与上面的文件相比,我希望看到更清晰的XML文件.

首要任务是仅通过代码控制它,如果不可能,则转到XSLT或任何其他模式.

serialization namespaces xml-serialization prefix wcf-serialization

14
推荐指数
2
解决办法
1万
查看次数

现代x86中'指令前缀'的含义是什么

为了理解Bulldozer为什么不合格,我一直在关注Agner Fog的优秀微架构书,在第178页的推土机下它有这一段.

最多三个前缀的指令可以在一个时钟周期内解码.对于具有三个以上前缀的指令,会有非常大的惩罚.具有4-7前缀的指令需要额外14-15个时钟周期才能进行解码.带有8-11前缀的指令需要额外增加20-22个时钟周期,带有12-14前缀的指令需要额外增加27-28个时钟周期.因此,不建议使用超过三个前缀来延长NOP指令.此规则的前缀计数包括操作数大小,地址大小,段,重复,锁定,REX和XOP前缀.三字节VEX前缀计为一,而两字节VEX前缀不计.转义码(0F,0F38,0F3A)不计算在内.

当我搜索前缀时,我的技术定义远远超出了我的能力.或者,建议每条指令限制为4条,这与上述摘录相冲突.

因此,简单来说,有人可以解释他们是什么/做什么以及为什么你可能想要将多达14+用于指令而不是分解?

x86 assembly prefix

14
推荐指数
2
解决办法
3080
查看次数

+1和-1之间的差异

> :t (+1)
(+1) :: Num a => a -> a

> :t (-1)
(-1) :: Num a => a
Run Code Online (Sandbox Code Playgroud)

为什么第二个不是功能?我必须写(+(-1))或有更好的方法吗?

haskell function operators prefix

13
推荐指数
2
解决办法
473
查看次数