小编Kir*_*ran的帖子

c ++设计问题试试看

我有以下代码,其中dbh构造函数可能会抛出异常.我的问题是,dbh在try块中声明.捕获后是否可用?如果是,是否存在范围解析与{}不同的任何其他例外情况?如果没有,最好的设计选择是什么?

status func(const char* field, char** value)
{
    try {
        dbhandler<recType> dbh(("dbName"),("table"));
    }
    catch (std::runtime_error &e) {
        LOG_ERR << e.what() << endl ;
        return false;
    }
    catch (...) {
        LOG_ERR << "Unknown exception" << endl ;
        return false;
    }

    rc = dbh.start("key",field, val);
    return rc;
}
Run Code Online (Sandbox Code Playgroud)

c++ exception scope-resolution

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

使用字符串或流?

我需要逐步构建一个字符串,并试图找到最好的方法来做到这一点.它可以增长到的最大值是大约10k,因此计划做这样的事情:

const unsigned long long configSize = 10240; //Approximation
void makeMyConfig() {
   std::string resp;
   std::string input;
   resp.reserve(configSize);
   while ( getInput(input) ) {
     resp += input;
   }

   if ( resp.length > configSize ) 
      log << "May need to adjust configSize. Validate" << endl;

   if (!sendConfig(resp)){
      log << "Error sending config" << endl;
   }
}
Run Code Online (Sandbox Code Playgroud)

getInput可以从文件/ tcp conn或ftp读取,并在运行时决定.它接收const char*并将其放入一个字符串(我可以避免,但为方便起见)

但是,我听说有一种非常有效的方法来处理字符串流,但不知道该怎么做.欣赏任何见解.

c++ string stringstream

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

矢量调整奇怪的行为

我有以下代码.有趣的是,如果我取消注释向量上的resize(),它会输入10个数字,输入值为5.我在windows xp上使用eclipse和mingw和gcc.迭代器不应只用于5个元素吗?

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
//#include "stdio.h"
using namespace std;

template <typename T>
void print_coll(T t)
{
    typename T::iterator iter = t.begin();
    while (iter != t.end() )
    {
        cout << *iter << " ";
        ++iter;
    }
    cout << endl;
}

int main()
{
    int size;
    cin >> size;
    vector<int> numbers;
//    numbers.resize(size);

    for ( int i = 0 ; i < size; ++i ) {
        int r = (rand() % 10); …
Run Code Online (Sandbox Code Playgroud)

c++ stl resize vector

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

适用于ios4的ios5故事板应用程序

我正在创建一个新的应用程序,并计划在ios5它支持时开始storyboards.但是,我不确定编译的应用程序是否会ios5运行,ios4因为我们正在寻找一种向前兼容性.由于ARC是编译时功能,我猜这不是问题.然而,这些呼叫喜欢prepareForSegueperformSegueWithIdentifier取决于ios5api.但是,在构建代码时,我想知道可执行程序集是否能够在ios4设备上运行.有人可以对此有所了解吗?

此外,如果答案是严格的否,我是否需要回复传统NIB的应用程序?是否有任何可能有用的选择性功能?

iphone compatibility storyboard ios5

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

模板代码returntype重载不编译.怎么了

我正在尝试以下代码来重载一个简单的函数来处理多种类型.但是,它无法编译.有人可以告诉我什么是错的以及如何解决这个问题?

typedef struct str1_type
{
    int f1;
    int f2;
} STR1;

typedef struct str2_type
{
    char f1[100];
    char f2[100];
}STR2;

template <typename T1, typename T2>
T2 getFieldOffset(const T1& t, int i);

int main() {

    STR1 str1;
    STR2 str2;

    int i = getFieldOffset(str1,0);

    const char* test = getFieldOffset(str2,0);

}

template <typename T1, typename T2>
T2 getFieldOffset(const T1& t, int i)
{
    switch (i) {
        case 0:
            return t.f1;
        case 1:
            return t.f2;
        default:
        {
            cout << "Invalid index passed: i" << …
Run Code Online (Sandbox Code Playgroud)

c++ templates overloading return-type

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

表单上的jquery mobile changePage提交不正常

我试图在Jquery中的表单提交上更改页面,但是,它不起作用.它会滑动显示相同的页面,而不是导航到目标页面.下面是代码.有什么见解吗?我尝试使用"#mainpage","index.html#mainpage"但仍然是相同的结果.链接:jsfiddle.net/7yRph/1

<!DOCTYPE html> 
<html> 
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Multi-page template</title> 
    <link rel="stylesheet" href="jquery.mobile-1.0.min.css" />
    <script src="jquery-1.6.4.min.js"></script>
    <script src="jquery.mobile-1.0.min.js"></script>
    <script type="text/javascript">
    $('#launchpage').live('pagecreate',function(event) { 
        $('#fhome').submit( function () {
            $.mobile.changePage("mainpage");
        });
    });
    </script>
</head> 
<body> 

<!-- PAGE: launchpage -->
<div data-role="page" id="launchpage">
    <div data-role="header">
        <h1 data-theme="g" >Personal Details</h1>
    </div><!-- /header -->

    <div data-role="content" >  
        <div class="content-primary">
        <form id="fhome" method="POST" >
            <div data-role="none">
                <p> Lets begin: </p>
            </div>
            <br/>           
            <div data-role="fieldcontain">
                <fieldset data-role="controlgroup" data-type="horizontal" >
                    <legend>Are …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-mobile

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

NSMutableArray上的performSelector错误

您好,我在NSMutableArray上使用performSelector有一个棘手的问题.我有可能误解了performSelector的作用.基本上我有NSMutableArray与对象(所有这些都是基于我的类的对象,它继承自UIButton,但这并不重要,我猜)我需要向数组中的所有对象发送消息.

在我的类的头文件中,我已经声明了函数,它由selector调用.它看起来像这样:

-(void)scaleChangedWithANumber:(NSNumber *)scale;
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我的数组包含3个对象.如果我逐项称呼它们,它的工作原理很完美:

NSNumber *tmpNumber=[NSNumber numberWithFloat:scale];


ButtonOfElement *tmpButton1=[elementsButtonContainer objectAtIndex:0];
[tmpButton1 performSelector:@selector(scaleChangedWithANumber:) withObject:tmpNumber];

ButtonOfElement *tmpButton2=[elementsButtonContainer objectAtIndex:1];
[tmpButton2 performSelector:@selector(scaleChangedWithANumber:) withObject:tmpNumber];

ButtonOfElement *tmpButton3=[elementsButtonContainer objectAtIndex:2];
[tmpButton3 performSelector:@selector(scaleChangedWithANumber:) withObject:tmpNumber];
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试在数组上调用performSelector(我需要向数组中的所有对象发送消息):

NSNumber *tmpNumber=[NSNumber numberWithFloat:scale];
[elementsButtonContainer performSelector:@selector(scaleChangedWithANumber:) withObject:tmpNumber];
tmpNumber=nil;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

[__NSArrayM scaleChangedWithANumber:]: unrecognized selector sent to instance 0x1737f0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM scaleChangedWithANumber:]: unrecognized selector sent to instance 0x1737f0'
*** First throw call stack:
(0x34e456c3 0x370be97f 0x34e49227 0x34e47951 0x34d9f468 0x31d1 0x369a70eb 0x369a7447 0x369324d9 0x368f9c0d 0x36ae5649 0x3681df4f 0x3681c9b3 0x3682791f 0x368274eb …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray performselector

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

Loading local file in browser referenced css or js

This could be a basic problem but some how is not working for me.

Here is my html:

<!doctype html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <base href="/">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">

    <link rel="stylesheet" href="app/app.css"/>
  </head>
  <body ng-app="App">
    <div> Hi There</div>

    <script src="app/vendor.js"></script>
    <script src="app/app.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

This file is located at: file:///Users/kiran/Documents/app/dist/public/index.html Referenced files are located at:

app.css: file:///Users/kiran/Documents/app/dist/public/app/app.css
vendor.js: file:///Users/kiran/Documents/app/dist/public/app/vendor.js
app.js: file:///Users/kiran/Documents/app/dist/public/app/app.js
Run Code Online (Sandbox Code Playgroud)

However, when I tried to open the file using browser->open, it says …

javascript css html5 google-chrome angularjs

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

接口的ios语法

从目标C的观点来看,以下几段代码之间有什么区别?

@interface MyClass : NSObject {
}

@property (nonatomic) AnotherClass *obj;
@end
Run Code Online (Sandbox Code Playgroud)

@interface MyClass : NSObject {
@property (nonatomic) AnotherClass *obj;
}
@end
Run Code Online (Sandbox Code Playgroud)

??

iphone objective-c ios

0
推荐指数
2
解决办法
306
查看次数

java TreeSet与自定义比较器无法正常工作

我试图通过TreeSet使用自定义比较器.但是,似乎有些不对劲.无论我是使用自定义等于还是来自比较器的比较,我都会看到重复.任何想法错在哪里?以下是代码:(请查看以下评论​​)

import java.util.ArrayList;
import java.util.Comparator;
import java.util.TreeSet;

public class TreemapTest {

    public static void main(String[] args) {

        //Take an array of integers
        int list[] = { 1,2,3,4,2,4,2,5 };

        //Create a list of custom objects
        ArrayList<Element> elements = new ArrayList<Element>();

        //Populate the list with values from int array
        for (int v : list){
            elements.add(new Element(v));
        }

        /** Attempt to create a treeset from the arraylist */
        // Create the Treeset with custom comparator
        TreeSet<Element> nt = new TreeSet<Element>(new Comparator<Element>(){
            public int …
Run Code Online (Sandbox Code Playgroud)

java comparator treeset

0
推荐指数
1
解决办法
765
查看次数