小编Mar*_*ark的帖子

作为对象的类成员 - 指针与否?C++

如果我创建一个MyClass类并且它有一些私有成员说MyOtherClass,那么将MyOtherClass作为指针是否更好?将它作为存储在内存中的指针而不是指针也意味着什么?创建类时是否会创建对象?

我注意到QT中的示例通常在类成员时将类成员声明为指针.

问候

标记

c++ memory pointers class-design member

42
推荐指数
5
解决办法
2万
查看次数

在构建库之前,让CMake在项目中执行目标

我正在使用CMake构建我的C++项目,它有多个可执行文件和一个库(同一项目的所有部分).一切正常,但我的一个可执行文件是一个代码生成器,它创建了一些库类.我已经让所有代都工作了但是在构建库之前无法弄清楚如何调用这个可执行文件(codegen).我在Linux环境中.希望有人能回答这个问题.

c++ build cmake

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

实体框架4.1代码首先不创建表

我正在使用EF 4.1并使用DBContext等创建了一个存储库.连接字符串设置为指向SQL Server 2008 R2 Dev版本.

当我运行一个调用我的网关的控制台应用程序,然后又添加一个实体并保存时,会抛出一个异常,说它无法找到该表.当我查看我的数据库时,创建了一个数据库但除了EmdMetadata之外没有自动创建表.

我错过了什么吗?

标记

entity-framework-4 ef-code-first

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

Linux C++项目目录布局 - CMake

我想为我的linux c ++项目使用一些标准布局,该项目是使用cmake构建的,包含一些可执行文件和这些exec可能链接到的库.目前我只有一个项目文件夹和每个子项目的子文件夹.最高级别的CMakeLists和opt级别添加的每个子级别中的一个.

 Project-
            executable1
            executable2
            library
Run Code Online (Sandbox Code Playgroud)

但是我认为如下设置会更好

Project -
    lib //Library output folder
    bin //Executable output folder
    src //Al cpp source files
    include //All header files
    test //All tests
Run Code Online (Sandbox Code Playgroud)

我只有一个顶级的CMakeLists.我可以在cmake中轻松设置它.有没有人有理由选择不同的布局?

c++ linux cmake

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

在堆栈上创建一个对象,然后通过引用传递给C++中的另一个方法

我来自C#背景到C++.假设我有一个方法在堆栈的方法中创建一个对象,然后我将它传递给另一个类方法,该方法将它添加到一个memeber向量.

void DoStuff()
{
    SimpleObj so = SimpleObj("Data", 4);
    memobj.Add(so); 
}

//In memobj
void Add(SimpleObj& so)
{
   memVec.push_back(so); //boost::ptr_vector object
}
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 一旦DoStuff方法结束,那么会超出范围并从堆栈中弹出?
  2. memVec有一个指向这样的指针,但它弹出了这里发生的事情?
  3. 什么是将堆栈对象传递给将它们存储为指针的方法的正确方法?

我意识到这些对C++程序员来说可能是显而易见的.

标记

c++ gcc boost memory-management

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

R lapply重置rownames的数据帧列表

您可以通过运行重置数据框中的rownames

>rownames(df) <- NULL
Run Code Online (Sandbox Code Playgroud)

我有一个数据帧列表,并希望重置列表中每个数据帧的所有rownames,我试过

>newlist <- llply(mylist, function(df) { rownames(df) <- NULL })
Run Code Online (Sandbox Code Playgroud)

Bu tit不起作用,返回NULLS列表,原件保持不变.

r dataframe

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

从类方法C++ 0x返回unique_ptr

如果我的类SomeType有一个方法从地图返回一个元素(使用键)说

std::unique_ptr<OtherType> get_othertype(std::string name)
{
   return otMap.find(name);
}
Run Code Online (Sandbox Code Playgroud)

这会确保调用者会收到指向地图中指针而不是副本的指针吗?这样做是否可以,或者它会尝试调用复制构造函数(并且因为它已被删除而失败)因为它被返回了吗?

假设我必须使用unique_ptr作为我的地图项目.

更新::

在尝试实现代码之后,似乎unique_ptr和std:map /:pair在gcc 4.4.4中不能一起工作,对只是不喜欢unique_ptr作为类型参数.(请参阅无法创建MoveConstructibles的地图).

我将ptr更改为std :: shared_ptr并且一切正常.

我想我可以使用与共享指针相同的代码?

c++ smart-pointers unique-ptr c++11

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

SSIS使用DateTime输入参数执行SQL查询错误

我花了几天时间试图解决这个问题.我有一个SSIS包,在序列容器中有2个执行SQL任务,一个是从表中的简单删除,下一个是插入前删除的简单插入.删除工作正常,所以连接等没问题.

插入失败,出现以下模糊且无用的消息.

failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. 
Run Code Online (Sandbox Code Playgroud)

插入有1个输入参数,该参数是绑定到设置为01/01/2011的日期时间变量的日期.当我更换?在具有硬编码日期的sql任务查询中,任务有效.我还在插入任务的预执行事件断点处查看了本地,并且变量没问题.

我还启动了一个SQL事件探查器会话,我看到删除查询命中数据库但没有插入任何内容(当它使用输入参数时).

我正在使用Visual Studio 2005 Pro SP1(不是我的选择)和SQL Server 2005 SP3.

问候

标记

sql-server ssis sql-server-2005

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

在R中,我如何按日期拆分数据框

我有一个数据框,其中一列是日期时间(chron).我想将此数据帧拆分为仅由日期部分拆分的数据帧列表.因此,每个数据帧都将包含当天的所有数据.我看了分割函数,但不知道如何使用部分列值?

r date subset dataframe

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

C#1套接字客户端连续数据

我正在编写一个连接到单个套接字的服务,然后读取连续且有时很多的数据.我收到的数据应该交给另一个线程(在服务中)进行处理,原因是处理可能需要一段时间,我不想阻止接收套接字.

我打算使用Begin或Async接收方法来处理数据,而不是让线程运行读取并发队列或其他东西.我需要这个扩展到可能通过套接字的大量数据.有什么建议?

c# sockets

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

在cellForRowAtIndexPath中,当单元格是可变高度时获取单元格的高度

我在tableview中创建自定义单元格,有些有图像,有些只是文本.单元格的高度是在heightForRowAtIndexPath中计算的,我在调用cellForRowAtIndexPath之前完成了.我想在单元格底部放置一个imageview而不管高度,但我不确定如何从cellForRowAtIndexPath中获取计算出的高度?

iphone ios

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

C++头文件,构造函数逻辑,简单的get/set方法

在C++中允许在头文件中使用简单构造函数/方法定义的想法是什么?我正在创建的一些类是组成另一个对象的简单数据对象,所以它们需要自己的构造函数和get/set方法.然而,这些通常是<3-4行,每个使用init列表的构造函数.这些课程只有.h才可以.

更新::如何在.c文件的单独目录中存储.h文件?

c++ header

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