好的,这个问题已经发展了一些,我想尝试开始(过度)我正在拍摄的基本目标:
我经常遇到这种情况,我正在寻找更好的方法......
我有一个类,C在命名空间N.C有一个成员,Free.它免费是C管理的东西,并允许C管理新事物.
有几个全局免费功能.在与C相同的名称空间N中也有一些辅助函数,其中一个函数是一个帮助者,它释放由C管理的东西,名为free.
所以我们有类似的东西:
namespace N {
void free(THING * thing);
class C
{
public:
... details omitted...
free()
{
free(m_thing); // <- how best to refer to N::free(THING&)
}
}
} // namespace N
Run Code Online (Sandbox Code Playgroud)
我可以使用N :: free(m_thing).但这对我来说似乎很不幸.有没有办法引用类范围之外的但没有解析绝对命名空间(范围相对一步)?
在我看来,必须命名N :: free是令人讨厌的,因为如果这是一个独立的功能你就不必这么做.如果班级的方法名称恰好不同(例如处置),你也不需要.但是因为我使用了相同的名字,所以如果你放纵我的比喻,我就无法访问它而不必指定绝对路径的数量 - 而不是相对路径.
我讨厌绝对的道路.它们使名称空间中的移动变得非常脆弱,因此代码重构变得更加丑陋.此外,如何在函数体中命名事物的规则变得更加复杂,使用当前的规则集(正如我所理解的那样) - 不那么规律 - 在人们所期望的和作为程序员的人之间产生分裂.
是否有更好的方法来访问与类相同的命名空间中的独立函数,而不必绝对命名自由函数?
编辑:也许我应该用一个不太抽象的例子:
namespace Toolbox {
namespace Windows {
// deallocates the given PIDL
void Free(ITEMIDLIST ** ppidl);
class Pidl
{
public:
// …Run Code Online (Sandbox Code Playgroud) 是否有捷径可寻?
我现在只使用控制台测试我的网络应用程序.最好的方法是从一个项目中获得多个控制台,然后按一下"立即调试"菜单项.
我可以像过去一样使用多个项目,但这看起来很笨重.理想情况下,我可以启动多个控制台实例(从同一个线程运行很好)并且在启动时不会覆盖其他控制台.并排发射会很棒!
我问的是多么实用?可能吗?
谢谢!
当我说匿名类型声明
var someType = new {Name ="Jon Skeet",年龄= 10};
然而关键字
var is implicitly typed
Run Code Online (Sandbox Code Playgroud)
但是当我打印
Response.Write(someType.GetType().Name);
Run Code Online (Sandbox Code Playgroud)
它产生<>f__AnonymousType02 .这个符号<>与什么有关?
什么是扩展的最佳方式
${MyPath}/filename.txt to /home/user/filename.txt
Run Code Online (Sandbox Code Playgroud)
要么
%MyPath%/filename.txt to c:\Documents and settings\user\filename.txt
Run Code Online (Sandbox Code Playgroud)
遍历遍历路径字符串直接寻找环境变量?我看到wxWidgets有一个wxExpandEnvVars函数.在这种情况下我不能使用wxWidgets,所以我希望找到一个boost :: filesystem等价或类似的.我只使用主目录作为示例,我正在寻找通用路径扩展.
Seu以下映射
@Entity
public class User {
private Integer id;
@Id;
private Integer getId() {
return this.id;
}
}
Run Code Online (Sandbox Code Playgroud)
注意id是一个Integer.现在我需要使用like运算符来进行这个HQL查询
Query query = sessionFactory.getCurrentSession().createQuery("from User u where u.id like :userId");
Run Code Online (Sandbox Code Playgroud)
ATT:它就像运营商NOT =(等于运营商)
然后我用
List<User> userList = query.setParameter("userId", userId + "%").list();
Run Code Online (Sandbox Code Playgroud)
但是没有用,因为Hibernate抱怨IllegalArgumentException发生了调用User.id的getter
即使我使用
query.setString("userId", userId + "%");
Run Code Online (Sandbox Code Playgroud)
这是行不通的
我应该用什么来传递查询?
我是关于在linux上构建一个服务器(我选择编程语言),它接受来自桌面软件的许多TCP/IP套接字持久连接.如何廉价而有效地完成这项工作?一台机器不能有超过60000个端口,所以如果我必须支持600k连接,那么我需要10个linux机箱?
由于每个连接所需的计算非常小(95%的空闲时间),一个linux盒已经可以处理600k我不想浪费金钱和资源运行10个盒子只是为了解决端口限制.
有任何想法吗?
我有一个代码在页面加载时绑定点击操作,它是一个链接.当我点击它时,它发送ajax请求并用jquery append()函数替换某些div中的内容.这个新内容有一个链接,我需要为它们绑定一些动作,但我不能..绑定我认为没有用,因为jquery追加不更新DOM树.我怎么能得到一个后期绑定?
" 'eval'应该是令人讨厌的吗? "启发了这个:
大多数人都认为这eval很糟糕,并且在大多数情况下更优雅/更安全.
所以我想问:如果eval经常误用,是否真的需要作为语言功能?这是邪恶而不是好吗?
就个人而言,我发现它唯一有用的地方是插入配置文件中提供的字符串.
编辑:这个问题的目的是在eval是唯一或最佳解决方案时尽可能多地获得真实案例.所以,请不要进入"应该用语言限制程序员的创造力"的方向.
编辑2:当我说eval,当然我指的是eval字符串,而不是将红宝石块传递给instance_eval或class_eval.
我想要做的是,当人们使用我的程序命中输入没有任何东西在那里它不会导致错误这是程序的一部分:
Console.WriteLine("4.-Ya no quiero jugar >.<");
int opc = Convert.ToInt16(Console.ReadLine());
switch (opc)
{
case 1:
Console.WriteLine("omg");
break;
case 2:
Console.WriteLine("wtf");
break;
default:
Console.WriteLine("Cant do that >.>");
Console.ReadKey();
break;
etc.
}Run Code Online (Sandbox Code Playgroud)
事情是使用整数,我试图这样做
string opc1=console.readline();
if (opc =="")
{
console.writeline("nope,try again");
}
else
{ // Brace was omitted in original - Jon
int opc = Convert.ToInt16(Console.ReadLine());
switch (opc)
blah blah.Run Code Online (Sandbox Code Playgroud)
它的不同组合>.<和默认值不起作用
我希望有人可以帮我解决它.<
我的公司在确定管理构建,发布和分支的最佳方法时遇到了麻烦...我们的基本设置是我们有4个应用程序,我们维护2个WPF应用程序和2个ASP.NET应用程序,所有这4个应用程序共享公共库,所以目前他们都在一个文件夹/ trunk/{app1,app2,app3,app4}.
这使得分支/标记单个应用程序非常困难,因为您同时对所有4个应用程序进行分支,因此我们希望将其分为{app1,app2,app3,app4}/{trunk,tags,branches但是我们遇到了放置共享库的问题?
我们不能将共享库作为SVN外部因素,因为当你分支/标记时,分支仍然引用了trunk共享库,而不是让它们分支.
有小费吗?想法?
我们目前正在使用svn和cruisecontrol.net.
编辑:共享库现在经常更改,这就是为什么我们不能将它们用作svn externals到trunk,因为我们可能会在分支中更改它们.所以我们不能将它们用作二进制引用.
当库静态构建而不是包含源时,它也很难测试和调试.
c# ×4
c++ ×2
console ×1
eval ×1
hibernate ×1
hql ×1
javascript ×1
jquery ×1
linux ×1
msbuild ×1
namespaces ×1
nant ×1
networking ×1
performance ×1
readline ×1
ruby ×1
sql-like ×1
svn ×1
wxwidgets ×1