问题列表 - 第41283页

C++使用std和boost命名空间最佳实践

可能重复:
您是否更喜欢C++中的显式名称空间或"使用"?

嗨,大家好我是一个C#开发人员,但我的朋友是一个C++,他向我展示了充满了调用的代码,如std :: for_each和boost :: bind,我习惯在C#中使用,并认为使用指令会摇滚为了代码的可读性和通常更快的开发,例如在C#foreach语句之前键入任何命名空间将是一件痛苦的事.

我想知道使用这种流行命名空间的缺点和优点是什么?是否包含这些名称空间是最佳做法?

c++ using

4
推荐指数
1
解决办法
9952
查看次数

使用boost :: numeric_cast <>

当我想在不同的整数类型之间进行转换时,似乎最好的语法是使用boost::numeric_cast<>():

int y = 99999;
short x = boost::numeric_cast<short>(y); // will throw an exception if y is too large
Run Code Online (Sandbox Code Playgroud)

我从来没用过那个; 但是语法非常简单,所以一切都很顺利.

现在假设我想做一些更高级的事情:我希望它能够返回目标类型的最小值或最大值(饱和度),而不是抛出异常.我无法想出一种表达方式,但文档表明它是可能的(可能使用RawConverter策略).所有我能想到的是以下丑陋:

short x = numeric_cast<short>(max(min(y, SHORT_MAX), SHORT_MIN);
Run Code Online (Sandbox Code Playgroud)

那么我怎么能用boost来表达"饱和的演员" numeric_cast呢?

c++ boost type-conversion

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

如何确定iOS设备上是否有可用的相机闪光灯

总体而言,我的应用程序适用于所有iOS设备但是我有一个仅适用于iPhone 4的功能,因此如果用户没有iPhone 4,我想显示警告,让他们知道此功能无法在他们的设备上运行?

我怎样才能做到这一点?

我正在尝试检查设备是否有相机闪光灯

iphone ios

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

如何使用Regex验证Twitter用户名

/[a-z0-9_]+/i在函数中使用了模式:

function validate_twitter($username) {
 if (eregi('/[a-z0-9_]+/i', $username)) {
  return true;
 }
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我测试输入是否是一个有效的推特用户名,但我遇到了困难,因为它没有给我一个有效的结果.

有人可以帮我找到解决方案.

php regex twitter validation

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

检查多个函数是否为真,然后执行某些操作

我坚持认为我认为是一个简单的PEBCAK错误.我在提交表单之前试图验证我的所有功能是否属实,但是无法想象我的生活有什么不对.以下是我的javascript代码:

function checknewaccount(){
if(emailvalid()&& checkname() && passwordcheck())
{
    return true;
}
else{
    return false;
}
}


function emailvalid()
{
      if(email condition)
      {
          return true;
      }
      else {
          return false;
      }
}

function checkname())
{
      if(name condition)
      {
          return true;
      }
      else {
          return false;
      }
}

function passwordcheck(){
      if(password condition)
      {
          return true;
      }
      else {
          return false;
      }
}
Run Code Online (Sandbox Code Playgroud)

html如下:

<form  id="newaccount" name="newaccount" method="post"  onSubmit="accountcode.php">
<input type="text" id="email" onBlur="emailvalid()"/>
<input type="text" id="username" onBlur="checkname()" />
<input type="password" id="password"  onkeyup="passwordcheck()"/>
<input …
Run Code Online (Sandbox Code Playgroud)

javascript return function return-value form-submit

7
推荐指数
2
解决办法
3万
查看次数

当获取它的线程退出时,Mutex会发生什么?

假设有两个线程,主线程和线程B(由main创建).如果B获得了一个互斥锁(比如pthread_mutex)并且在没有解锁锁的情况下调用了pthread_exit.那么互斥体会发生什么?它变得免费吗?

c multithreading pthreads

17
推荐指数
2
解决办法
7510
查看次数

如何防止Google Chrome在ASP.NET MVC中保存密码?

有没有办法阻止Google Chrome和其他浏览器保存特定网站的密码?服务器是ASP.NET MVC .NET4.

asp.net asp.net-mvc firefox internet-explorer google-chrome

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

阻止Authlogic为非HTML请求建立会话/ cookie

我正在使用Authlogic和Rails 3.除了常规的基于浏览器的用户体验(通过表单和诸如此类登录)之外,我还想实现一个API.

Authlogic似乎支持默认情况下不会保留的单一访问令牌.我通过添加GET参数来提供它们,如下所示:

/users.xml?user_credentails=my_single_access_token
Run Code Online (Sandbox Code Playgroud)

问题:有没有办法让Authlogic通过HTTP Basic Auth接受API密钥?Highrise做了这样的事情,允许:

curl -u 605b32dd:X http://sample.highrisehq.com/people/1.xml
Run Code Online (Sandbox Code Playgroud)

Freshbooks相同:

curl -u insert_token_here:X https://sample.freshbooks.com/api/2.1/xml-in -d '[xml body here]'
Run Code Online (Sandbox Code Playgroud)

我将如何模仿这个功能?我甚至无法弄清楚输入数据(来自表单的postdata,HTTP基本,API令牌)的位置.我把它归结为UserSessions.find没有参数的调用,但是在那之后我忘记了它.

任何帮助将非常感激!

相关问题:如果使用HTTP basic,我还想禁用会话持久性(使其不存储cookie).任何有关这方面的帮助也将不胜感激!

api ruby-on-rails authlogic

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

C++相当于"超级"?

在Java中,不使用范围运算符,而是使用ex:

C++ -> GenericBase::SomeVirtualFunction();
Java -> super.someVirtualMethod();
Run Code Online (Sandbox Code Playgroud)

在C++中是否有这样的东西,或者由于多重继承,这在C++中是否有意义?

谢谢

c++

17
推荐指数
4
解决办法
7万
查看次数

无法确定条件表达式的类型?

我刚刚遇到这个(编写代码来演示"问题"):

public ICollection<string> CreateCollection(int x)
{
    ICollection<string> collection = x == 0 
                                   ? new List<string>() 
                                   : new LinkedList<string>();
    return collection;
}
Run Code Online (Sandbox Code Playgroud)

编译器抱怨:

Fehler CS0173:Der Typ des bedingten Ausdrucks kann nicht bestimmt werden,weil keine implizite Konvertierung zwischen"System.Collections.Generic.List"und"System.Collections.Generic.LinkedList"erfolgt.

其翻译大致为:

无法确定条件运算符的类型,因为List和LinkedList之间没有隐式转换.

我可以看到为什么编译器抱怨,但是,嘿,来吧.它试图发挥愚蠢.我可以看到两个表达式不是同一类型,而是有一个共同的祖先,作为奖励,左侧的类型也是共同的祖先.我相信编译器也可以看到它.如果左侧被声明为,我可以理解错误var.

我在这里错过了什么?

编辑:

我接受詹姆斯·冈特的解释.也许只是为了说清楚.我可以很好地阅读编译器规范.我想了解原因.为什么有人决定以这种方式编写规范.这种设计背后必然有一个原因.根据詹姆斯的说法,设计原则是"毫无意外".此外,CodeInChaos还解释了如果编译器试图从常见的祖先中推断出类型,您可能遇到的惊喜.

.net c# compiler-construction

5
推荐指数
1
解决办法
2674
查看次数